1.dubbo使用入门

1.技术的发展
2.dubbo能解决什么问题
3.Dubbo是什么
4.Dubbo的使用入门
5.Main方法怎么启动的
6.日志怎么集成
7.admin控制台的安装
8.simple监控中心
9.telnet命令

1.技术的发展

最开始的单机到多台机器

两个jvm之间的通信:rmi,webservice,activeMq等

jvm的集群:硬件负载f5、软负载nginx

对nginx的集群:nginx+lvs

存储方式:mysql、redis

存储的扩容:水平扩展,存储的集群

master-slaver的选举:zookeeper+kafka

对于上述的服务治理:dubbo+zookeeper

问题:

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

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

2.dubbo能解决什么问题

1.怎么去维护url

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

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

软负载均衡

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

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

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

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

3.Dubbo是什么

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

1)Dubbo的核心部分

远程通信

集群容错

服务的自动发现

负载均衡

2)核心角色

Provider: 暴露服务的服务提供方。

Consumer: 调用远程服务的服务消费方。

Registry: 服务注册与发现的注册中心。

Monitor: 统计服务的调用次调和调用时间的监控中心。

Container: 服务运行容器。

4.Dubbo的使用入门

事例代码:

查看启动日志,发现注册了接口

dubbo://192.168.98.1:20880/com.charjay.order.IOrderServices

?anyhost=true&application=order-provider&dubbo=2.5.3&interface=com.charjay.order.IOrderServices&methods=doOrder&owner=mic&pid=41304&side=provider×tamp=1533044025181, dubbo version: 2.5.3, current host: 127.0.0.1

查看zookeeper的dubbo节点(注册了一根树,接口,provider,url)

[dubbo%3A%2F%2F192.168.98.1%3A20880%2Fcom.charjay.order.IOrderServices

%3Fanyhost%3Dtrue%26application%3Dorder-provider%26dubbo%3D2.5.3%26interface%3Dcom.charjay.order.IOrderServices%26methods%3DdoOrder%26owner%3Dmic%26pid%3D41304%26side%3Dprovider%26timestamp%3D1533044025181]

说明把地址注册到了zookeeper里dubbo的provider节点

5.Main方法怎么启动的

1)加载配置

程序会去 com.alibaba.dubbo.container.Container里面找到对应的映射

spring=com.alibaba.dubbo.container.spring.SpringContainer

jetty=com.alibaba.dubbo.container.jetty.JettyContainer

log4j=com.alibaba.dubbo.container.log4j.Log4jContainer

logback=com.alibaba.dubbo.container.logback.LogbackContainer

2)容器启动

查看源码我们可以发现默认配置加载的地方是

SpringContainer.DEFAULT_SPRING_CONFIG=classpath*:META-INF/spring/*.xml

3)启动之后wait()保持进程持续运行

6.日志怎么集成

com.alibaba.dubbo.common.logger.LoggerFactory//日志工厂类

String logger = System.getProperty("dubbo.application.logger");//根据配置选择使用的日志,默认使用log4j

 <dubbo:application name="order-provider" owner="lcj" logger="log4j"/>

7.admin控制台的安装

1.下载dubbo的源码

2.找到dubbo-admin

3.修改webapp/WEB-INF/dubbo.properties

dubbo.registry.address=zookeeper://192.168.98.165:2181?backup=192.168.98.166:2181,192.168.98.167:2181

4.在tomcat里面运行  

5.登录 root/root

控制中心是用来做服务治理的,比如控制服务的权重、服务的路由(一般大公司用的比较少)

8.simple监控中心

Monitor也是一个dubbo服务,所以也会有端口和url

1.修改/conf目录下dubbo.properties 或者order-provider.xml(建议使用这种)

dubbo.registry.address=zookeeper://192.168.98.165:2181?backup=192.168.98.166:2181,192.168.98.167:2181

2.运行conf/start.bat

3.http://localhost:8080

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

com.alibaba.dubbo.monitor.dubbo.DubboMonitor

9.telnet命令

telnet  ip port

ls、cd、pwd、clear、invoker(加载接口 invoker com.xxx.Service.doOrder({name:'xx'}))

可以连接进dubbo,然后操作访问接口,并且不计入dubbo统计

猜你喜欢

转载自blog.csdn.net/CharJay_Lin/article/details/81604839