为什么80%的码农都做不了架构师?>>>   

一个大系统中,各内部模块系统之间的基于接口方式的互相调用和管理,使用jmx是最佳方案. 
带来的好处是 
1.面向接口,远程调用对于开发人员是透明的,模块在调用jmx接口时,与调用本地方法几乎相同. 
2.可视化的管理界面,通过Jconsole等jmx客户端,可以实时监控系统,并且可实时调用方法进行某些操作.
典型应用场景:  
某聊天系统,一台服务器作为   在线用户列表服务器   A1,n台服务器为用户提供聊天业务处理   N1   ,N2,N3..., 
一台服务器作为后台管理系统A2.  
系统管理员现在进行下面这样一个操作,察看某用户是否在线,找到该用户,发现其在线,则将该用户加入黑名单,并踢下线. 
对应的jmx接口可以由以下几个:  
A1为A2提供查询在线用户jmx接口,加入黑名单接口,kickout接口, 
A1为N1..等服务器提供以下接口: 注册业务服务器,添加在线用户.查找黑名单用户 
N1...到N3为A1提供kickout接口. 
因此在上面的踢下线操作,则由用户在A2的web界面发出,交由A1执行,A1记录黑名单之后,再找到用户所在业务服务器调用N1提供的接口让用户下线. 
以上情形是在生产环境下的部署,而在开发工作,则可以将A1,A2,N...N3等功能合并在一个应用中调试. 由于使用的是jmx接口,在本地调试合并之后,可以直接调用应用内部接口方法. 
这样借助jmx实现的应用模块的灵活组装与拆分,使得系统的可以根据负载需要,根据性能情况,灵活的拆分和整合部署分布式的应用. 
替代方案,选择webservice,xmlrpc等,但是这些都需要手工编写或用工具生成大量的代码来辅助完成接口间的java对象序列化 。 
经典jmx案例: 
1. Jboss 使用jmx管理内部的各个service。 

2. 基于java的开源网管软件Hyperic HQ ,通过jmx与各被管理资源进行通讯和信息采集

JMX是一个管理的框架。 
当我们想使用JMX的时候,就要问,我们的系统当中有需要监控管理的资源或者对象吗?实事求是一点,我们不能为了想使用一个高端的技术,就歪曲系统的本来面目。 
如果第一个问题是肯定的,接下来就是看这些资源是否有生命周期。 
经典案例:jboss就是将所有可部署的组件作为资源来管理,这些组建都有其生命周期。这个理念甚至延伸到了其系统内部,将其内部的服务作为组件纳入到JMX中来,成就了jboss基于jmx的微内核系统。

转载于:https://my.oschina.net/i33/blog/80671

在什么场景下该使用JMX,如何使用,会带来什么好处,这种场景下有哪些替代方案?...相关推荐

  1. unity的vr场景怎么做_营销技巧逐渐失效,如何通过场景化营销重新赢回市场?...

    "宝宝们,夏天你们都要穿防晒衣对不对? 在防晒衣里面,要穿T恤.内衣,就会非常非常闷. 我家的这款小背心,既是吊带又带胸托, 好看.显腰.不下垂.不往上缩, 夏天穿着它,真的是好看的不得了. ...

  2. 场景拆解六步设计法,手把手教你细化场景

    导读:用户想要达成一定的目的时,其所采取的行为会触发一个或多个具体的场景.想要让产品契合用户触发的场景,就需要细化场景,在场景中通过各种方式方法与用户建立有效的沟通机制,引导和影响用户按照我们所设定的 ...

  3. 小说中场景的功能_小说写作 | 如何做好小说中的场景描写?

    你不可能不学字母表就会写字:也不可能不学写字就会写句子.同样,你不可能不写场景,就直接写出小说或回忆录.别小看这小小的智慧结晶. 说起来结晶,这里有一个人人都能懂得的视觉比喻:当我想象一个故事的结构时 ...

  4. 【Unity3D】游戏物体操作 ① ( 场景简介 | 添加游戏物体 | 操作游戏物体 | 选中游戏物体 | 场景显示效果缩放 | 重命名游戏物体 | 复制游戏物体 | 删除游戏物体 | 移动物体 )

    文章目录 一.Scene 场景简介 二.添加游戏物体 三.操作游戏物体 1.选中游戏物体 2.场景显示效果缩放 3.重命名游戏物体 4.复制游戏物体 5.删除游戏物体 6.Inspector 检查器窗 ...

  5. java能下划线开头_为什么Java7开始在数字中使用下划线

    JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量.其中的一个特征是介绍字面常量数字的下划线.从Java7开始,你就可以在你的Java代码里把长 ...

  6. R语言使用timeROC包计算存在竞争情况下的生存资料多个标记物在相同时间下的cox及协变量分析AUC值、并可视化多个标记物在相同时间下的ROC值、多指标的ROC曲线(Time-dependent R

    R语言使用timeROC包计算存在竞争情况下的生存资料多个标记物在相同时间下的cox及协变量分析AUC值.并可视化多个标记物在相同时间下的ROC值.多指标的ROC曲线(Time-dependent R ...

  7. R语言使用timeROC包计算无竞争情况下的生存资料多个标记物在相同时间下的cox及协变量分析AUC值、并可视化多个标记物在相同时间下的ROC值、多指标的ROC曲线

    R语言使用timeROC包计算无竞争情况下的生存资料多个标记物在相同时间下的cox及协变量分析AUC值.并可视化多个标记物在相同时间下的ROC值.多指标的ROC曲线(Time-dependent RO ...

  8. ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案

    ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案 参考文章: (1)ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案 (2)ht ...

  9. sceneManager.loadscene加载场景时不会主动去加载场景的依赖包,要手动加载或添加场景到build setting列表中...

    sceneManager.loadscene加载场景时不会主动去加载场景的依赖包,要手动加载或添加场景到build setting列表中 假设有一场景1001.unity,,manifest文件如下: ...

  10. python读取文件夹下特定的文件_python os模块获取指定文件夹下所有文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. python os模块获取指定文件夹下所有文件名 第一种方法使用os.walk(): os.walk() 方法 ...

最新文章

  1. 三星android获取root权限,三星G9250(S6 Edge公开版全网通 Android 5.1)获取ROOT权限详解教程...
  2. jsp页面修改成html页面
  3. 17 张程序员壁纸(赶快挑一张吧)
  4. .net 开发 html框架,Asp.net的开发框架
  5. 第四讲 数学公理化方法(上)
  6. 软考网络工程师学习笔记6-无线通信网
  7. Oracle索引状态查询与索引重建
  8. 用 C++ 跟你聊聊“桥接模式” | 原力计划
  9. matlab中的controller,MatlabSimulinkPIDController(2DOF)..docx
  10. 演示:配置安全的shell属性
  11. 察看无限网络linux,linux 无线网络调试
  12. 冒泡排序java代码_美团面试,我竟然输给了冒泡排序。。。
  13. 【golang-GUI开发】struct tags系统(一)
  14. 开源扫描仪软件_适用于Windows的优秀开源免费扫描仪软件?
  15. 安装scipy报错的解决方案
  16. 在企业ceph运维中问题处理解决方案---持续更新
  17. 多商户商城系统功能拆解27讲-平台端分销结算设置
  18. 用你的微笑魔力征服下属
  19. 腾讯企业邮箱api java,企业邮箱丰富的开放接口_腾讯企业邮箱服务中心
  20. 利用flex布局实现六个骰子

热门文章

  1. spark中local模式与cluster模式使用场景_Spark-Submit 和 K8S Operation For Spark
  2. 16.PHP_Ajax模拟服务器登录验证
  3. PowerShell-5.网络请求
  4. hdu4908 中位数子串
  5. 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
  6. 【Java 并发编程】线程操作原子性问题 ( 问题业务场景分析 | 使用 synchronized 解决线程原子性问题 )
  7. 【计算理论】计算理论总结 ( P 、NP 、NPC 总结 ) ★★
  8. 给phpcms v9增加类似于phpcms 2008中的关键词表
  9. python入门-直方图
  10. MapReduce执行过程