![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
微服务
文章平均质量分 88
微服务
curd_boy
热爱编程,喜欢探索新技术
展开
-
【微服务】【GO训练营总结】
gRPC 和服务发现这是为了解决去中心化的核心目标而引入的。选择 gRPC 的原因gRPC 是基于 http2 双向流且可复用连接,比 http1.1 的单向流省 tcp 连接;代码即文档,表现力比 http restful 强,能提高接口的标准化;可支持在公网,统一内网外通信healthCheck,端对端异步检测,辅助平滑发布服务发现客户端:每个客户端实现服务实例的发现和相同的负载均衡算法,并直连服务实例进行通信;服务端:中间加入网关层,网关实现服务实例的发现,客户端只连网关,好原创 2021-08-17 00:01:55 · 646 阅读 · 0 评论 -
【微服务】分布式一致性算法-Paxos、Raft、ZAB、Gossip
RaftConsul如何通过Raft协议实现强一致性?首先,库存服务注册到Leader Server的时候,会采取Raft协议,要求必须让Leader Server把这条注册数据复制给大部分的Follower Server才算成功。这就保证了,如果你认为自己注册成功了,那么必然是多台Consul Server都有这条注册数据了。如果你刚发送给Leader Server他自己就宕机了,那么这次注册会认为失败。此时,Consul Server集群会重新选举一个Leader Server出来,你需要再次重新注原创 2021-08-07 14:37:13 · 602 阅读 · 0 评论 -
【微服务】RPC和HTTP
文章目录RPCRPC工作模式gRPCgRPC的特性与优缺点1.基于HTTP/22.IDL使用ProtoBuf3.多语言支持HTTP和RPC的优缺点Go语言中的RPC支持与处理grpcprotobuffer 为什么高效Protocol buffers 反序列化RPCRPC(Remote ProcedureCall,远程过程调用) 是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络细节的应用程序通信协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OS原创 2021-08-06 11:13:27 · 4856 阅读 · 0 评论 -
【运维篇】负载均衡策略
DNS域名解析腾讯云通过Annotation配置负载均衡原创 2021-03-02 17:29:01 · 3275 阅读 · 2 评论 -
【微服务】Go进阶四 日志&指标&链路追踪
日志级别https://github.com/golang/glog,是 google 提供的一个不维护的日志库,glog 有其他语言的一些版本,对我当时使用 log 库有很大的影响。它包含如下日志级别:InfoWarningErrorFatal(会中断程序执行)还有类似 log4go,loggo,zap 等其他第三方日志库,他们还提供了设置日志级别的可见行,一般提供日志级别:TraceDebugInfoWarningErrorCriticalFatal记录消息后,直接调原创 2021-04-24 23:34:08 · 711 阅读 · 0 评论 -
【微服务】Go进阶② 微服务可用性设计
微服务可用性设计隔离隔离,本质上是对系统或资源进行分割,从而实现当系统发生故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其他服务仍然可用。服务隔离动静分离、读写分离轻重隔离核心、快慢、热点物理隔离线程、进程、集群、机房读写分离:主从、Replicaset、CQRS。核心隔离业务按照 Level 进行资源池划分(L0/L1/L2)。核心/非核心的故障域的差异隔离(机器资源、依赖资源)。多集群,通过冗余资源来提升吞吐和容灾能力。快慢隔离我们可以把原创 2021-04-16 00:20:53 · 849 阅读 · 0 评论 -
【微服务】【GO训练营总结】Go进阶① 微服务概览
01 第一周:微服务(微服务概览与治理)可用性&兼容性设计API Gateway (网关)Microservice划分Microservice安全原创 2021-04-11 17:57:39 · 1475 阅读 · 0 评论 -
【Go】微服务框架总结
Go-Mirco框架go-zero微服务框架1. zRPC使用参考go-zero 文档查看server注册ETCDCTL_API=3 etcdctl get hello.rpc --prefix显示服务已经注册2. 接口限流 periodlimit2.1 滑动窗口限流接口限流实现 redis + lua而在一个分布式系统中,存在多个微服务提供服务。所以当瞬间的流量同时访问同一个资源,如何让计数器在分布式系统中正常计数?同时在计算资源访问时,可能会涉及多个计算,如何保证计算的原子性?原创 2021-03-07 22:12:52 · 3363 阅读 · 1 评论 -
【微服务】微服务治理:熔断、链路追踪
熔断器有三种状态:关闭状态:服务正常,并维护一个失败率统计,当失败率达到阀值时,转到开启状态开启状态:服务异常,调用 fallback 函数,一段时间之后,进入半开启状态半开启装态:尝试恢复服务,失败率高于阀值,进入开启状态,低于阀值,进入关闭状态github.com/afex/hystrix-go,提供了 go 熔断器实现,使用上面也很方便,首先创建一个熔断器hystrix.ConfigureCommand( "addservice", // 熔断器名字,可以用服务名称命名,一个名字对应原创 2021-02-03 22:11:10 · 769 阅读 · 0 评论 -
【Go】Go-Micro微服务框架
简单案例 https://github.com/why19970628/micro-serviceService实现如下接口的,都是Servicetype Service interface { Init(...Option) Options() Options Client() client.Client Server() server.Server Run() error String() string}如 service := micro.NewService()返回的是mic原创 2021-02-02 22:55:24 · 211 阅读 · 0 评论 -
【k8s】集群中部署kong网关及添加插件
1.本地运行的设置service router的参考这篇 : 传送门原创 2020-12-03 13:30:39 · 1304 阅读 · 0 评论 -
微服务相关
基于etcd做服务发现和注册开启服务注册开启服务注册只需配置Etcd即可,配置如下:Etcd: Hosts: - 127.0.0.1:2379 Key: hello.rpcHosts为etcd服务节点地址,Key为服务地址对应的key前缀,当服务启动的时候即可自动的进行服务注册...原创 2020-11-25 22:28:56 · 336 阅读 · 0 评论