深入浅出学习 Dubbo Dubbo 简介及环境搭建
Posted 思想累积
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入浅出学习 Dubbo Dubbo 简介及环境搭建相关的知识,希望对你有一定的参考价值。
1、分布式系统基础知识
1.1 什么是分布式系统
分布式系统是若干独立计算机的集合,这些计算机对用户来说就像单个相关系统
分布式系统是建立在网络上的软件系统
随着互联网发展,网站应用的规模不断扩大,需要一个治理系统来确保架构有条不紊的严谨
1.2 发展演变
- ORM(All in One)单一应用架构
- MVC(Vertical Application)垂直应用架构:
- RPC(Distributed Service)分布式服务架构
- SOA(Elastic Computing)流动计算架构
1.3 RPC
什么是RPC
PRC(Remote Procedure Call)是指
远程过程调用
,是一种进程间通信方式。它是一种技术思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络上的另一台服务器上)的过程或函数,而不是用程序员显示编码这个远程调用的细节,无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同
2、Dubbo 基础
2.1 简介
Dubbo 官网:https://dubbo.apache.org/zh/
Apache Dubbo 是一个款微服务开发框架,它提供了
RPC通信
与微服务治理
两大关键能力。这意味着,使用 Dubbo 开发的微服务,将具备相互之间的远程发现与通信能力, 同时利用 Dubbo 提供的丰富服务治理能力,实现诸如服务发现
、负载均衡
、流量调度
等服务治理诉求。同时 Dubbo 是高度可扩展
的,用户几乎可以在任意功能点去定制自己的实现, 以改变框架的默认行为满足自己的业务需求。
Dubbo 提供的核心能力包括:
- 服务定义
- 服务远程通信
- 服务发现
- 负载均衡
- 流量管理
- 动态配置
2.2 设计架构
3、环境搭建
3.1 zookeeper 注册中心
Linux zookeeper 下载安装:https://blog.csdn.net/qq_53316135/article/details/117622487
3.2 监控中心
dubbo-admin:管理控制台(图形化的服务管理界面,安装时需要指定注册中心地址,可以从注册中心获取到所有的提供者、消费者进行配置管理)
GitHub 地址:https://github.com/apache/dubbo-admin/tree/master
下载后打开 dubbo-admin 文件夹
需要修改 resource 文件夹内 application.properties 配置文件端口号及主机地址
使用 maven 打包后放到服务器上启动
启动后访问管理控制台
地址:http://ip:7001/
账号root
密码root
dubbo-monitor 监控中心
修改 dubbo-monitor-simple\\src\\main\\resource\\conf\\dubbo.properties
文件,指定注册中心地址及端口号等
使用 maven 打包 dubbo-monitor-simple
解压 tar.gz
压缩包
之后进入assembly.bin
文件夹下./start.sh
启动
如果启动之后一直在 starting… 的话,可能是服务器内存不够,可以修改start.sh
内启动 java 时的内存
JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
以上是关于深入浅出学习 Dubbo Dubbo 简介及环境搭建的主要内容,如果未能解决你的问题,请参考以下文章
深入浅出Dubbo3原理及实战「新特性简介」Dubbo3新特性要点之RPC协议介绍
深入浅出Dubbo3原理及实战「技术大纲」深入浅出并发实战课程系列及技术指南
rpc框架dubbo学习入门及环境搭建(spring boot+Kotlin)
rpc框架dubbo学习入门及环境搭建(spring boot+Kotlin)