Dubbo笔记(一)

1.dubbo是什么?(http://dubbo.apache.org/#/?lang=zh-cn)

    dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。(即 1+2 一个框架和两个方案).可以和spring框架无缝集成。

    什么是dubbox, dubbo开源后长时间没有更新,当当网根据自身的需求,在dubbo的基础上实现一些新的功能,叫dubbox。dubbox添加了对REST风格的远程调用,升级spring和zookeeper.支持基于Kryo和FST的高效序列化实现,基于嵌入式的Tomcat的HTTP remoting体系。


2.MVC,RPC,SOA的架构演进

    MVC:整个架构包含一个系统和一个数据库,如电商系统,将订单模块,商品模块等耦合称一个系统。

    RPC:当一个系统的访问量越来越多,应用之间的交互也会越来越多(模块耦合度大)。这时可以将核心的业务作为独立的服务抽取出来,逐渐形成稳定的服务。如电商中的订单服务、商品服务等抽取出来,形成服务群体。数据库也分为多个。

    SOA:当系统越来越庞大,抽取出来的服务也会越来越多。服务的管理将会变得困难。而SOA提供了服务发现和服务治理的功能。(可使用dubbo,spring cloud,ICE)


3.微服务架构

    传统的架构(主要指三层架构)有许多不足,如代码都维护在同个项目中,效率低下。即使使用分模块开发,各模块间的耦合度也很大。分模块开发公共模块的代码会重复等问题。

    微服务的理念,就是将项目分解为众多的服务。这些服务可以独立部署,不依赖于其他服务。(注:这种分解和三层架构的分解不同。三层架构是垂直分解。而微服务是按功能进行分解,一个完整的功能就包含了UI,业务,数据访问等一系列内容,是可以独立存在的)。微服务没有集中的数据库,每个服务有自己独立的数据库,可以是redis、Mysql、oracle根据模块的特点来选择。

    微服务的好处是,按功能拆分,每个模块可以独立技术选型,独立开发,独立部署,独立运维。

    微服务缺点:1、当系统变得庞大,服务越来越多,服务的监控将变得困难。2、但某个服务出现故障,由于各个服务之间有调用关系,故障的排查将变得困难。

    3.1 服务治理框架

        (1)what? 在微服务架构中,治理服务的框架。


4.dubbo的核心要点

    (1)服务的定义

            服务是围绕服务提供方和服务消费方进行的。服务提供方提供服务,服务消费方调用服务。

    (2)服务注册

            服务注册依赖于注册中心,dubbo官方推荐的注册中心是zookeeper。

    (3)监控中心

            服务的提供方和消费者都需要对服务的调用状态进行有效的监控,从而改进服务的

    (4)dubbo容器(Container)

            容器一启动将provider中的服务注册到注册中心。

    简单过程:dubbo一启动,将provider中的服务注册到服务的注册中心,服务的消费者订阅服务的时候,注册中心将服务列表发送给消费者(之所以是服务列表,是因为dubbo支持集群的,即有多个服务的提供者。所以当一个服务有多个提供者时就会有服务列表。消费者根据负载均衡策略选择一个服务提供者)。


3.dubbo常用的7个标签

    

    









猜你喜欢

转载自blog.csdn.net/qiaoqiyu6416/article/details/80957321