spring boot 集成 zookeeper 搭建微服务架构
2018-10-29 23:26:20来源:博客园 阅读 ()
PRC原理
RPC 远程过程调用(Remote Procedure Call)
一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远程系统资源,RPC框架实现的原理都是类似的,如下图:
Client Code:客户端调用方代码实现,负责发起RPC调用,为调用方用户提供使用API。
Serialization/Deserialization:负责对RPC调用通过网络传输的内容进行序列化与反序列化,不同的RPC框架有不同的实现机制,主要分为文本与二进制两大类。(文本序列化机制主要有XML与JSON两种格式,二进制类别的序列化机制常见的有Java原生的序列化机制,以及Hessian、protobuf、Thrift、Avro、Kryo、MessagePack等),不同的序列化方式在可读性,码流大小,支持的数据类型以及性能等方面都存在较大差异,需要根据实际情况进行筛选。
Stub Proxy:可以看做是一种代理对象,屏蔽RPC调用过程中复杂的网络处理逻辑,使得RPC调用透明化,能够保持与本地调用一样的代码风格。
Transport:作为RPC框架底层的通信传输模块,一般通过Socket在客户端与服务端之间传递请求与应答消息。
Server Code:服务端服务业务逻辑具体的实现。
服务注册中心介绍
我和你都有表达的能力,但是我们怎么沟通呢?见面聊?电话谈?还是微信语音呢?
显然,注册中心来解决这个问题:
ZooKeeper介绍
zookeeper是dubbo中的注册中心,dubbo是一个分布式服务框架,自带RPC,dubbo使用maven引入。
要运行dubbo,首先需要一个注册中心,可供选择的注册中心有Zookeeper、Multicast、Redis、Simple。
下载从官网去下载
解压后进入conf目录,里面有一个zoo.cfg (如果没有就自己创建) 配置说明如下:
tickTime=2000 #单位毫秒 zk中最小时间单位长度
dataDir=/user/local/zookeeper/data #zk服务器存储快照文件目录
dataLogDir=/user/local/zookeeper/logs #zk服务器存储事务日志文件目录
clientPort=2181 #服务端对外的服务端口
initLimit=5 #tickTime的倍数 Leader等待Follower启动并完成数据同步的时间
syncLimit=2 #tickTime的倍数 Leader与Follower之间心跳最大延时时间
进入bin目录下 运行 sh zkServer.sh start (Windows直接双击)
spring boot 集成 zookeeper
稍微介绍一下设计
一共有3个模块:
web:服务消费者,包含入口层与业务逻辑层。 (war包)
service.user:服务提供者,用户服务层 (war包)
base.core:共用层 包含对象实体 interface (jar包)
多的我就不说了,都在代码里
源码分享
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:javaDay03
- Spring系列.ApplicationContext接口 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 给你一份超详细 Spring Boot 知识清单 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 掌握SpringBoot-2.3的容器探针:实战篇 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash