之前那篇文章太长,直接导致网站的search模块废掉,现单独将sidecar的注入这块内容拉出来讲,也方面后面再更新更多内容。
Istio实践
分布式定时任务
在实现定时弹性伸缩的时候,遇到需要配置定时任务的场景,按照云原生应用架构,应该将这类状态放到中间件中。苦于TbSchedule和Elastic-Job这类的任务管理服务都无法满足需求:
- 语言特性方面,都是Java一派的,不支持golang;
- 弹性伸缩规则需要做到能够动态添加删除、也就是任务的cron expression不是固定配置死的;
于是,决定自己实现一套分布式的定时任务管理服务,定位为中间件。
NATS Streaming实践
Rocket MQ在业务开发中用的比较多,无论是其功能还是易用性方面表现很不错。先前云平台代码中也是用RMQ作为消息中间件,但是在上生产的前夜,QA对微服务做高可用测试时发现一些连接相关的问题。连夜分析,深入追踪当时使用的一个RMQ非官方golang库,发现其代码比较乱,最终评估下来决定在放弃对RMQ的使用。
配置中心Apollo入门
Apollo是携程开源的配置中心,社区比较火,当前在生产中使用的用户量也非常大。用户侧的功能和使用,本文就不一一介绍了,这方面的文档比较多。这里结合最近在公司环境中的大规模部署,简要做一些概要总结,重点涉及一些分布式部署中可能遇到的问题。
Gitbook必备技能
Consul原理解析
从2016年开始接触微服务的时候就使用consul,当初只知道其特别方便,是一款不错的服务注册与发现工具。至于其部署架构,实现原理都没有深入去了解过,就如同年少读书不求甚解。最近,在着手搞微服务治理,服务治理与发现这块正好选型consul,这才详细的琢磨了下其代码,也对其原理有了一定的认识。下面就听我就徐徐道来……