dubbo原理用法归纳1

Dubbo

dubbo.io

dubbo+spring boot +docker

dubbo能解决什么问题

  1. 怎么去维护url

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

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

    软负载均衡

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

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

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

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

Dubbo是什么

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

image-20190304192843699

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管理维护很困难、 依赖关系很模糊

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

img

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

image-20190305115939577

image-20190305134604961

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

Main方法怎么启动的

image-20190305135812036

image-20190305135750953

image-20190305135421963

日志怎么集成

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

image-20190305140101020

image-20190305135945276

admin控制台的安装

https://github.com/apache/incubator-dubbo-ops.git

# 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

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

image-20190305150205197

telnet命令

telnet ip port

ls、cd、pwd、clear、invoker

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值