内容简介:dubbo.iodubbo+spring boot +docker dubbo是一个分布式的服务框架,提供高性能的以及透明化的RPC远程服务调用解决方法,以及SOA服务治理方案。
Dubbo
dubbo.io
dubbo+spring boot +docker
dubbo能解决什么问题
-
怎么去维护url
通过注册中心去维护url(zookeeper、 redis 、memcache…)
-
F5硬件负载均衡器的单点压力比较大
软负载均衡
-
怎么去整理出服务之间的依赖关系。
自动去整理各个服务之间的依赖
-
如果服务器的调用量越来越大,服务器的容量问题怎么去评估,扩容的指标
需要一个监控平台,可以监控调用量、响应时间
Dubbo是什么
dubbo是一个分布式的服务框架,提供高性能的以及透明化的RPC远程服务调用解决方法,以及SOA服务治理方案。
Dubbo的核心部分:
远程通信
集群容错
服务的自动发现
负载均衡
Dubbo的架构
核心角色
Provider |
暴露服务的服务提供方 |
---|---|
Consumer |
调用远程服务的服务消费方 |
Registry |
服务注册与发现的注册中心 |
Monitor |
统计服务的调用次数和调用时间的监控中心 |
Container |
服务运行容器 |
- 服务容器负责启动,加载,运行服务提供者。
- 服务提供者在启动时,向注册中心注册自己提供的服务。
- 服务消费者在启动时,向注册中心订阅自己所需的服务。
- 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
PAAS(platform-as-a-service)/IAAS(infrastucturre-as-a-service)/SAAS(软件即服务)
如果你是一个网站站长,想要建立一个网站。不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序。
现在你追随潮流,采用流行的云计算,
如果你采用IaaS服务,那么意味着你就不用自己买服务器了,随便在哪家购买虚拟机,但是还是需要自己装服务器软件
而如果你采用PaaS的服务,那么意味着你既不需要买服务器,也不需要自己装服务器软件,只需要自己开发网站程序
如果你再进一步,购买某些在线论坛或者在线网店的服务,这意味着你也不用自己开发网站程序,只需要使用它们开发好的程序,而且他们会负责程序的升级、维护、增加服务器等,而你只需要专心运营即可,此即为SaaS。
各个应用节点中的url管理维护很困难、 依赖关系很模糊
每个应用节点的性能、访问量、响应时间,没办法评估
软负载均衡:nginx,apache
nginx和apache集群:nginx+lvc ,nginx+keepalived
进程依赖于存储:
- sqlserver
- oracle
- mysql/maraiDb
- mongoDB
- redis
集群:
- Master-slave
进程通信:
kafka
Dubbo的使用入门
对外框架一定是基于tcp协议的
dubbo://192.168.4.169:20880/com.zzjson.IOrderServices?anyhost=true&application=order-provider&dubbo=2.5.3&interface=com.zzjson.IOrderServices&methods=doOrder&owner=zzy&pid=57178&side=provider×tamp=1551756860543, dubbo version: 2.5.3, current host: 127.0.0.1
dubbo://177.1.1.82/20880/com.gupao.vip.mic.dubbo.order.IOrderServices%3Fanyhost%3Dtrue%26application%3Dorder-provider%26dubbo%3D2.5.3%26interface%3Dcom.gupao.vip.mic.dubbo.order.IOrderServices%26methods%3DdoOrder%26owner%3Dmic%26pid%3D10804%26side%3Dprovider%26timestamp%3D1502890818766
多了一个dubbo的目录
url 是临时节点,其他节点都是持久的,因为url是动态变化的
Main方法怎么启动的
日志怎么集成
直接使用log4j放在工程目录下
admin控制台的安装
https://github.com/apache/inc...
# centers in dubbo2.7 admin.registry.address=zookeeper://116.62.221.6:2181?backup=39.98.95.85:2181,47.92.239.233:2181 #admin.config-center=zookeeper://127.0.0.1:2181 #admin.metadata-report.address=zookeeper://127.0.0.1:2181 admin.registry.group=dubbo admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9 admin.apollo.appId=test admin.apollo.env=dev admin.apollo.cluster=default admin.apollo.namespace=dubbo
dubbo.registry.address=zookeeper的集群地址
控制中心是用来做服务治理的,比如控制服务的权重、服务的路由、。。。
simple监控中心
Monitor也是一个dubbo服务,所以也会有端口和url
修改/conf目录下dubbo.properties /order-provider.xml
dubbo.registry.address=zookeeper://116.62.221.6:2181?backup=39.98.95.85:2181,47.92.239.233:2181
监控服务的调用次数、调用关系、响应事件
telnet命令
telnet ip port
ls、cd、pwd、clear、invoker
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Dubbo(二) —— dubbo配置
- Dubbo-G —— Dubbo 升级扩展
- Dubbo-G —— Dubbo 升级扩展
- Dubbo源码分析——Dubbo SPI
- [dubbo] Dubbo API 笔记——配置参考
- Dubbo 授渔:微内核架构在 Dubbo 的应用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。