升级性
当服务集群规模进一步扩大,带动IT治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不会带来阻力。下图是未来可能的一种架构:
节点角色说明
节点
角色说明
Deployer
自动部署服务的本地代理
Repository
仓库用于存储服务应用发布包
Scheduler
调度中心基于访问压力自动增减服务提供者
Admin
统一管理控制台
Registry
服务注册与发现的注册中心
Monitor
统计服务的调用次数和调用时间的监控中心
大家可访问官网文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html,里面有详细说明和使用说明的。这里就不再阐述了。
Dubbo集成和使用
基于官方的incubator-dubbo-spring-boot-project项目,在SpringBoot中集成起来很简单。
注意:由于本系列还是使用1.5.x版本进行讲解,所以使用的版本为0.1.x。若使用SpringBoot2.x的同学,可以使用0.2.x版本。
这里为了方便,直接创建了一个接口工程,spring-boot-dubbo-api。
IHelloService.java
服务提供者
创建一个spring-boot-dubbo-provider工程。 0.引入pom依赖。
注意:这里直接选用了redis作为注册中心使用。默认是zookeeper。
1.编写接口实现类。 HelloServiceImpl.java
说明下:这里的@Service是包路径com.alibaba.dubbo.config.annotation.Service下的注解类,其指定了接口版本、协议id、注册中心id等基本信息。这里注意还是版本号有用,因为会一个接口多版本共存问题,所以一般上都会设置版本信息的。 2.设置配置文件信息,添加dubbo相关信息,比如注册中心类型,地址等。
注意:这里为了方便,直接使用了Redis作为了注册中心。对于redis连接相关配置参数,可以通过dubbo.registry.parameters.xxx的形式来进行设置,由于parameters是个Map对象,所以添加的key是不会进行大小写转换的,填写了什么就是什么。具体的registry配置对象,可以查看com.alibaba.dubbo.config.RegistryConfig类。而对于redis相关参数配置,可以查看com.alibaba.dubbo.registry.redis.RedisRegistry类。
其他的注册中心,也是类似的,大家可在包com.alibaba.dubbo.registry找到都要的注册中心配置类。
3.启动类编写。
DubboProviderApplication.java
4.启动应用,可以访问下redis服务,可以看见已经有服务列表信息了。
服务消费者
创建spring-boot-dubbo-consumer工程。 0.引入pom依赖
1.配置文件添加注册中心及服务版本相关信息
2.启动类编写
DubboConsumerApplication.java
3.编写一个restapi接口服务,进行服务调用。
4.启动应用,访问:http://127.0.0.1:9696/hello?name=oKong,可以看见服务调用成功了。
监控后台
官方监控默认支持了zookeeper。而且官方文档也说了,对于redis桥接实现只为开源版本提供,其可靠性依赖于 Redis 本身的可靠性。建议大家还是使用zookeeper吧,redis还是作为缓存使用吧。
监控台地址:https://github.com/apache/incubator-dubbo-ops大家可自行安装说明进行编译运行下。
新的监控界面:
加入了Apache孵化器后,界面都是英文的了。。。还是原来的看的舒服呀!
参考资料
http://jm.taobao.org/2018/06/13/%E5%BA%94%E7%94%A8/
http://dubbo.apache.org/zh-cn/docs/user/preface/architecture.html总结
本章节主要介绍了dubbo的集成和简单的使用。具体其他的使用其实和原先是一样的,并没有什么区别。建议大家还是去看看官方文档,目前改版后内容丰富多了,干货很多,建议还是去看看。这下终于是中文版的了,看的不头疼了,⊙﹏⊙‖∣返回搜狐,查看更多