德阳网站建设网站,静态的网站,展览展厅设计制作,网站设计制作哪里好dubbo是一个分布式架构的服务框架#xff0c;一般结合maven的模块式开发使用。传统的单架构项目#xff0c;不方便维护和升级#xff1b;通过maven的模块式开发#xff0c;就可以把一个单架构的工程#xff0c;拆封成一个一个的小模块#xff0c;包括(jar和war)#xff… dubbo是一个分布式架构的服务框架一般结合maven的模块式开发使用。传统的单架构项目不方便维护和升级通过maven的模块式开发就可以把一个单架构的工程拆封成一个一个的小模块包括(jar和war)jar包可以被war包直接应用。war包可以分布式部署但是这样不同的war之间的交互就成为了问题。我们之前的做法是两个war之间进行交互时一般采用webservice或httpclient。但是在这种分布式架构中多个war之间的交互会特别频繁如果用webservice或httpclient架构师很多时候自己都搞不清楚他们之间的依赖关系了。而dubbo解决了这个问题有了dubbo架构以后多个war之间不在直接进行交互而是统一和dubbo的注册中心zookeeper进行交互。无论是发布服务还是调用服务都通过dubbo实现并且提供了web页面来监控和管理各个接口直接的调用。使用时首先搭建dubbo的注册中心zookeeper然后下载dubbo的服务治理工程dubbo_admin.war解压修改他的配置文件dubbo.properties设置用户名、密码和注册中心zookeeper的ip、端口。部署到Tomcat的webapp中启动Tomcat浏览器用ip端口访问就可以看到dubbo_admin的web页面了。接着在我们要发布或者调用服务的项目中导入dubbo提供的相关jar包加载配置文件把要发布的服务注册到zookeeper里边。或者从zookeeper里边调用服务就可以了。dubbo_admin的web页面中可以监控和管理所有的服务提供者和调用者。在dubbo架构中service接口和实体对象是各个工程共享的service实现类是发布服务的工程独有的。只需要发布服务的工程把他的接口注册到zookeeper中其他工程就可以从zookeeper中进行调用了。用dubbo的好处是把项目拆分成各个独立的小工程通过接口调用方式互相交互数据可以单独进行部署和升级这样就减少了他们直接的耦合性和代码的复用性。还可以针对不同模块采用不同的部署策略比如订单模块并发比较高所以可以把订单模块这个war包单独部署多套都注册到同一个zookeeper中。当客户端调用时zookeeper会帮忙进行负载处理。Zookeeper主要功能是为分布式系统提供一致性协调(Coordination)服务主要有两大功能统一配置管理和集群负载均衡统一配置管理分布式系统都有好多机器这些机器上边的配置是一致的正常情况下需要修改好一个以后然后scp到其他服务器每次修改就要把所有的配置都修改一遍Zookeeper提供了这样的一种服务一种集中管理配置的方法我们在这个集中的地方修改了配置所有对这个配置感兴趣的都可以获得变更。这样就省去手动拷贝配置了还保证了可靠和一致性。 集群负载均衡在分布式的集群中经常会由于各种原因比如硬件故障软件故障网络问题有些节点会进进出出。有新的节点加入进来也有老的节点退出集群。这个时候集群中有些机器(比如Master节点)需要感知到这种变化然后根据这种变化做出对应的决策。Zookeeper会对通过选举机制选举一个主节点作为管理者。选举一般都是奇数台否则会选举失败。并且集群中有半数以上宕机则会认为整个集群挂掉。我们项目中用到Zookeeper的地方主要有solr集群、redis集群和dubbo注册中心。