dubbo加zookeeper搭建微服务

微服务架构成了当下的技术热点,实现微服务是要付出很大成本的,但也许是因为微服务的优点太过于吸引人,以至于大部分开发者都将它当成未来的发展趋势。

dubbo的用户手册中介绍了服务化架构的进化过程,如下图:

一、服务化架构的演进过程

        1.orm – 单一应用架构
        一个高内聚版本,所有功能部署在一起。数据访问框架(orm)成为关键。这个架构很少被人使用,几乎接近灭绝了吧。
        优点:成本低,适合功能少又简单 缺点:很多,比如无法适应高流量,二次开发难,部署成本高

        2.mvc架构 - 垂直应用架构
        当访问量渐渐增大,慢慢演化成用的很多的mvc架构。虽然还是所有的功能都是部署在同一个进程中,但是可以通过双机或者前置负载均衡来实现负载分流。这样应用也可以拆分成不同的几个应用,以提升性能和效率。
        此时,mvc架构用于分离前后端逻辑。一方面,有一定的模块化。另一方面,加速和方便了开发。

        3.rpc架构 - 分布式服务架构
        当mvc垂直应用分成不同应用时,越来越多的情况下。不可避免的事应用a与应用b之间的交互。此时将核心和公共的 业务功能抽出来,作为单独的服务,并实现前后端逻辑分离。
        此时则就需要提高业务的复用及整合的分布式rpc框架,例如dubbo等。

        4.soa架构 - 流动计算架构
        当rpc架构中的服务越来越多时,服务的生命周期的管控,容量的评估等各种问题会出现,使服务化成为瓶颈。需要增加一个调度中心来进行对服务管控,监督等。 

        5.微服务架构

        在soa的基础上,人们又提出了微服务架构,它就是将功能分散到各个离散的服务中然后实现对方案的解耦。服务更原子,自治更小,然后高密度部署服务。

        微服务的技术关注点

        要实现一个微服务的架构,我们需要关注的技术点包括:服务注册、发现、负载均衡和健康检查,前端路由(网关),容错,服务框架的选择,动态配置管理等模块。这些模块可以组成一个简化的微服务架构图如下:

        

二、简化的微服务架构图

 

        笔者使用蚂蚁金融云有一年的时间,蚂蚁金服通过蚂蚁金融云输出了积累多年的技术组件。给其他企业的服务化体系和框架建设提供了很好的设计思路。除了微服务所需要的基础组件之外,还提供了分布式消息组件,分库分表组件,分布式调度组件等企业开发常用的中间件。根据蚂蚁金融云的设计思路,一个网站的基础组件架构图如下:

三、网站的基础组件架构图

        可惜蚂蚁金融云中的产品并不是开源的,一个企业想拥有属于自己的网站架构,就要选出最适合的开源的服务框架实现这些组件,从而使后续开发者更关注于业务逻辑实现。

        这些组件的实现方式以后有时间的话会一一讲解,这篇文章接下来先介绍一下dubbo+zookeeper来实现微服务中的前端服务、后端通用服务、服务注册中心中所涉及到的功能。

        使用dubbo+zookeeper实现简化的微服务架构

        dubbo是一个分布式服务框架,是阿里巴巴SOA服务化治理方案的核心框架。zookeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper可以作为dubbo服务的注册中心,两者结合起来可以实现微服务中的 服务注册、发现、负载均衡和健康检查,容错,动态配置管理的功能。由于dubbo没有提供前端路由的功能,所以我们还需实现一个具备监控、安全认证、限流、服务反向路由功能的网关组件才能实现完整的微

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值