转载

dubbo

Dubbo

dubbo.io

dubbo+spring boot +docker

dubbo能解决什么问题

  1. 怎么去维护url

    通过注册中心去维护url(zookeeper、redis、memcache…)

  2. F5硬件负载均衡器的单点压力比较大

    软负载均衡

  3. 怎么去整理出服务之间的依赖关系。

    自动去整理各个服务之间的依赖

  4. 如果服务器的调用量越来越大,服务器的容量问题怎么去评估,扩容的指标

    需要一个监控平台,可以监控调用量、响应时间

Dubbo是什么

​ dubbo是一个分布式的服务框架,提供高性能的以及透明化的RPC远程服务调用解决方法,以及SOA服务治理方案。

dubbo

Dubbo的核心部分:

​ 远程通信

​ 集群容错

​ 服务的自动发现

​ 负载均衡

Dubbo的架构

核心角色

Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器
  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

PAAS(platform-as-a-service)/IAAS(infrastucturre-as-a-service)/SAAS(软件即服务)

如果你是一个网站站长,想要建立一个网站。不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序。

现在你追随潮流,采用流行的云计算,

如果你采用IaaS服务,那么意味着你就不用自己买服务器了,随便在哪家购买虚拟机,但是还是需要自己装服务器软件

而如果你采用PaaS的服务,那么意味着你既不需要买服务器,也不需要自己装服务器软件,只需要自己开发网站程序

如果你再进一步,购买某些在线论坛或者在线网店的服务,这意味着你也不用自己开发网站程序,只需要使用它们开发好的程序,而且他们会负责程序的升级、维护、增加服务器等,而你只需要专心运营即可,此即为SaaS。

各个应用节点中的url管理维护很困难、 依赖关系很模糊

每个应用节点的性能、访问量、响应时间,没办法评估

dubbo

软负载均衡: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&timestamp=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的目录

dubbo

dubbo

​ url 是临时节点,其他节点都是持久的,因为url是动态变化的

Main方法怎么启动的

dubbo

dubbo

dubbo

日志怎么集成

直接使用log4j放在工程目录下

dubbo

dubbo

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

监控服务的调用次数、调用关系、响应事件

dubbo

telnet命令

telnet ip port

ls、cd、pwd、clear、invoker

原文  https://segmentfault.com/a/1190000018428522
正文到此结束
Loading...