Dubbo

    xiaoxiao2022-07-13  138

    一、什么是Dubbo?

     

        Dubbo是阿里巴巴推出的一款分布式服务治理框架

     

        Dubbo的作用

     

        1)单体架构项目

            

     

            单体架构就是指所有的业务代码和静态资源全部放到一个工程中,然后部署到tomcat服务器上

            缺陷:

                单体架构中某个模块出现问题,可能导致服务器资源溢出,从而影响别的业务正常运行。

                单体架构在互联网模式下,不能很好的处理高并发

     

            单体架构的拓展方案 - 行向拓展(集群):

                

            缺陷:服务的横向拓展不能划分重要模块和次要模块,相对会浪费服务器的资源

     

        2)分布式架构

            

     

            优点:

                降低了模块和模块之间的耦合,某个模块出现问题,其他模块是可以继续运行

                模块划分后,可以根据模块的热门程度,合理的进行横向拓展(集群)        

     

            缺点:

                模块和模块不可能完全无联系,分布式架构肯定会设计到模块之间的通讯,有可能会照成代码的冗余。

     

        3)rpc架构

            

     

            缺陷:

                当前表现成直接调用服务层,从而导致表现层和服务层的调用关系错综复杂,难以进行维护。

     

        4)SOA面向服务的架构体系

            

     

      集群:就是对一个服务的横向拓展,将一个服务复制很多份,分别部署在不同的服务器上,共同对外提供服务。

      分布式:将一个完整的功能,按照不同的业务,划分成很多小的功能模块,分别部署在不同的服务器上。  

     

     

    二、Dubbo的工作原理

     

        

     

    三、注册中心的安装 - zookeeper

     

        zookeeper是一个纯java编写的一个分布式一致性协调服务

     

        安装jdk

        1)rpm包的方式安装jdk

            

            

     

            卸载:

            

     

        2)源码包的方式安装jdk

            解压:

            

     

            改名:

            

     

            配置环境变量:

            

     

            生效环境变量:

            source /etc/profile

        

        安装zookeeper

            解压zookeeper的压缩包

            

     

            进入解压包,并且创建一个文件夹

            

     

            修改配置文件

            

            

     

            启动zookeeper服务

            

     

            验证是否启动成功:

            ps -aux | grep zookeeper - 查看zookeeper的进程是否启动

            杀死进程

            kill [-9] pid

     

    四、安装Dubbo的监控中心

     

        安装jdk

     

        安装tomcat

     

            解压

                

     

            进入解压文件夹,启动tomcat

                

     

            配置防火墙端口,开发8080,让远程连接:

                vim /etc/sysconfig/iptables

                添加8080端口的开放

                

                重启防火墙

                service iptables restart

     

        安装监控中心

     

            监控中心就是一个web工程

            将这个web工程丢到tomcat的webapps中,重启tomcat即可

     

            启动的结果:

            

     

            注意:

                · 如果tomcat中配置了监控中心,则tomcat启动会变得非常的慢,可以去./logs查看启动日志

                · 查看日志的命令:tail -f xxxxx

                · 在启动监控中心之前,一定要启动zookeeper,如果没有启动zookeeper,监控中心会卡死,导致tomcat起不来

     

    五、SpringBoot如何整合Dubbo - 实现服务的注册和发现

     

        服务提供者的搭建步骤:

     

            1、添加dubbo和SpringBoot的整合依赖包

            

            <dependency>

                <groupId>com.alibaba.boot</groupId>

                <artifactId>dubbo-spring-boot-starter</artifactId>

                <version>0.2.0</version>

            </dependency>

     

            2、配置application.yml

            

     

            3、将服务注册到注册中心上

            

     

            4、配置Dubbo的包扫描

            

     

     

        服务的消费者的搭建步骤:

     

            1、添加dubbo和SpringBoot的整合依赖包

            

            <dependency>

                <groupId>com.alibaba.boot</groupId>

                <artifactId>dubbo-spring-boot-starter</artifactId>

                <version>0.2.0</version>

            </dependency>

     

            2、配置application.yml

            

     

            3、发现并且消费服务

            

     

        改进:将提供者和消费者的公共接口抽取到一个jar工程中

     

        总结:

            

     

    六、Dubbo实战 - 学生管理系统

     

        

     

     

     

     

     

     

     

     

    最新回复(0)