soa架构: 面向服务(一个war工程中的表现层和服务层被拆分成两个war工程)

                分布式(拆分之后的表现层war工程和服务层war工程可以再根据功能模块进行分布式拆分)   

Dubbo :就是SOA服务治理方案的核心框架。Dubbo是Alibaba开源的分布式服务框架

为什么使用SOA架构:1)首先这是从高并发和松耦合方面来考虑的        2)首先如果使用单一应用架构,它呢只适合网站流量很小的情况,将所有功能部署在一起,减少节点的部署,以及成本       3)当访问量增大时,假如现在有一个用户登录页面,商品搜索页面,和一个秒杀抢购页面,本来登录页面和搜索页面是不会占用不大访问量的,但由于部署再同一服务器上,秒杀抢购页面也会导致登录和搜索页面拥挤不堪,这时候就需要将应用拆分,最大程度的松耦合这就演化为了垂直应用架构        4).当垂直应用越来越多,应用之间的交互也越来越多,这时候需要将表现层和服务层剥离开来,逐渐形成稳定的服务中心       5)而这时候呢,容量的评估,以及小服务资源的浪费问题逐渐显现,此时需要将所有服务统一管理,这时候便使用dubbo作为调度中心,提高集群利用率,这就演化为了最后的SOA架构

dubbo调用服务流程:

  • 0. 服务容器负责启动,加载,运行服务提供者。
  • 1. 服务提供者在启动时,向注册中心注册自己提供的服务。
  • 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  • 3. 注册中心返回服务提供者地址列表给消费者.
  • 4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  • 5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。


dubbo的五个节点:provider,consumer,register,monitor,container;

dubbo的安装:  一:安装zookeeper:1将zookeeper-3.4.5.tar.gz拷贝至/usr/local/dubbo目录下,并解压   2. 进入zookeeper-3.4.5/conf/目录,修改zoo_sample.cfg为zoo.cfg:cp zoo_sample.cfgzoo.cfg  3.配置zoo.cfg :dataDir=/usr/local/zookeeper/data(data目录不用管,会自动生成)     clientPort=2181; 4.启动zookeeper:启动命令:./zkServer.shstart     关闭命令:./zkServer.shstop    查看状态命令:./zkServer.shstatus    5.关闭防火墙       暂时关闭:serviceiptables stop  (关闭本次,重启服务后,防火墙重新开启) 永久关闭:chkconfigiptables off (本次不关闭,重启后关闭)

配合使用,可达到永久关闭的效果

二:监控中心monitor的安装:1.安装tomcat  2.将dubbo-admin-2.5.4.war,上传到Linux中的tomcat/webapps/目录下  3.启动tomcat解压缩war包,并修改dubbo-admin-2.5.4/WEB-INF/dubbo.properties文件,修改内容如下:dubbo.registry.address=zookeeper://127.0.0.1:2181#改为虚拟机实际地址  4.启动tomcat,访问monitor监控中心

访问地址:http://虚拟机ip:8080/dubbo-admin-2.5.4/ ,用户名root,密码root





Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐