深入浅出微服务2

1.Feign-》面向接口开发
2.Okhttp
3.HttpClient
4.RestTemplate

Http &Rpc

NIO的实现,针对不同场景使用不同序列化。

分布式实现

在这里插入图片描述
1 临时节点、持久化节点、顺序节点、ttl(可增加过期时间、过期后多久自动删除节点)和容器节点(没有子节点,一定时间后会被删除)
在这里插入图片描述

2 watch机制
做服务注册中心,可动态感知
在这里插入图片描述

zookeeper

基于注册中心引入

它的真正用意是什么? 分布式协调组件

google chubby->不开源
分布式一致性问题、分布式锁

GFS -> 存在多个服务

一致性解决方案 -> 服务(chubby)

选举出一个master(类似一个锁)

雅虎->Apache(捐献给zookeeper)
在这里插入图片描述
zookeeper设计

  1. 防止单点故障(设计一个集群(master、slave) leader\follower\observer)
  2. 数据同步
  3. leader选举算法(paxos(zookeeper不是使用)-> zab协议(zookeeper使用paxos思想实现的 zab协议)
  4. 2pc协议:当发送请求后,所有请求都返回确定,才会提交请求,否则会回退
    在这里插入图片描述
    zookeeper:改进的2pc协议,可以理解成进行投票,少数服从多数的思想。
    在这里插入图片描述

List< ZNode >

private List< ZNode > znode

create/delete/set/get

锁的基本实现

zookeeper的基本特征

1 创建节点
create /node v
a 顺序节点 -s
b 同一级别节点不存在重复
c 创建节点时必须创建全路径
d 临时节点(没有心跳后,会自动删除)
2 删除节点
delete /node
3 修改节点
set /node 3
4 查找节点

#watcher 通过get -w 对节点进行监听
监听事件被被触发后,事件就失效了

负载均衡

  1. 首先需要拿到目标服务所有地址
  2. 实现动态感知
    命名服务
    分布式锁
    有序节点、临时节点、唯一性

配置中心
key-value

分布式全局ID
序节点有序新

实战:

改造RPC

分布式锁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值