微服务杂记

Posted zhaoyang-1989

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务杂记相关的知识,希望对你有一定的参考价值。

动态伸缩, 根据流量增加或减少机器

灾备 ,如果宕机了

consul 获取所有rpc请求地址,并实时检测 (服务发现机制)

每个服务启动的时候,就会把所有服务注册到consul

为什么不用负载均衡,服务就几百个。consul 可以做自动选举。consul可以做集群。

consul 基于go语言,

consul 支持 共享配置中心,修改配置中心,相关的服务都修改了

技术图片

 

技术图片

 

 

 

 技术图片

 

 

 只是部署docker 没什么用,具体什么业务呢?(docker,编排, 自动伸缩,怎么做微服务?持续的部署)

json格式的数据,用于服务注册和定期检查

技术图片

 

 

 为什么有java,php 开发迭代速度快,go结合php比较多,处理并发等。

lavarels  laravel+swoole(千万pv)

亿级分布式架构。

rpcServer http_server 注册到容器

注释是给人看的,

注解是给程序看的,依赖注入是其中功能之一。灵活,针对控制器,方法。,配置路由,定时任务等。

协程  一部非阻塞,充分利用cpu资源,线程快速切换切换速度非常快。因为php程序会发生IO阻塞的,需要等待返回结果才能继续执行。

服务中间件 : 相当于是一个代理的作用,自己定义某些功能。

技术图片

 

 

 swoole IO密集型性能是传统环境的10倍 20倍。

与golang 性能差别   5%~10%

 服务 根据服务名(可能不是一台机器) 请求 cusol (服务注册中心)  找到服务中心地址,然后去访问其他服务。心跳检测。

rpc 接口调用,服务治理,服务与服务之间的调用,性能,管理(熔断,降级)

技术图片

 

 

 

swoft

安装框架,配置bean,启动

启动  注解扫描,放到容器中,事件机制,事件监听。

网关服务  ,商品服务,用户服务

网关服务 提供统一的入口,调用api管理。限流安全,提供Http服务,聚合后台服务

RPC 远程过程调用,像调用本地一样,调用远程。跨主机调用服务

商品服务 ,启动RPC服务

开始swoft RPC服务的一个讲解。。。。。。。。。。。

openresty基于nginx + lua 脚本高性能web平台。微服务的网关服务getway

lua 可以介入nginx的脚本文件。

还有一个可以做网关服务的 kong

可以做服务限流(redis,nginx+lua的令牌算法),聚合(一个请求请求2个地址)

熔断,比如支付需要用户服务,用户服务出了问题,那么一连串服务就全出问题了

 技术图片4一段时间内,服务成功了多少次,恢复服务

 

 

 

----------------------------------------------------------

技术图片

 

 

 技术图片

 

 

 

 QPS10w一个redis 肯定是不行的,所以要做多级缓存, 缓存架构

redis 每秒读写 5W  4核8G的机器。  值越大,会越慢

nginx+lua 做分发层,接入层

 技术图片

 

 nginx 分发策略,轮训,随机,最小连接数,加权

以上是关于微服务杂记的主要内容,如果未能解决你的问题,请参考以下文章

微服务布道师:详解微服务架构

微服务入门|微服务架构怎么设计

微服务架构总览

Chris Richardson微服务翻译:构建微服务之微服务架构的进程通讯

微服务架构是啥

微服务架构是啥?