搭建Spring Boot 各种功能组件(二)
SpringBoot整合Dubbo+Zookeeper
dubbo:Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
特性:
特性一览
-
面向接口代理的高性能RPC调用
提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。
-
智能负载均衡
内置多种负载均衡策略,智能感知下游节点健康状况,显著减少调用延迟,提高系统吞吐量。
-
服务自动注册与发现
支持多种注册中心服务,服务实例上下线实时感知。
-
高度可扩展能力
遵循微内核+插件的设计原则,所有核心能力如Protocol、Transport、Serialization被设计为扩展点,平等对待内置实现和第三方实现。
-
运行期流量调度
内置条件、脚本等路由策略,通过配置不同的路由规则,轻松实现灰度发布,同机房优先等功能。
-
可视化的服务治理与运维
提供丰富服务治理、运维工具:随时查询服务元数据、服务健康状态及调用统计,实时下发路由策略、调整配置参数。
Zookeeper:
ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协 调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列 等功能。
maven 中引入dubbo依赖
<dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>1.0.0</version> </dependency>
启动zookeeper 在springboot配置文件中添加zookeeper配置 dubbo: application: name: platform_provider registry: address: zookeeper://127.0.0.1:2181 protocol: port: 20880 scan: com.css.platform.provider
在springboot编写如下服务 @Service(group="PlatformProvider", version = "1.0") public class PlatformProviderImpl implements PlatformProvider { public String getName() { System.out.println("====PlatformProvider====="); return ""; } }
直接去 https://github.com/alibaba/dubbo(https://github.com/apache/incubator-dubbo) 下载dubbo-admin 放入tomcat下启动
在dubbo-admin下发现生产者PlatformProvider