一、Prometheus是什么?
Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。
Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。
相比于zabbix,zabbix对容器的监控力不从心
k8s:是自动空容器操作开源平台,自动化容器部署和复制、随时宽展或收缩容器规模、负载均衡
二、概念
1.微服务架构思想
优点:
1.易于开发和维护:一个微服务只会关注一个特定的业务功能。所以它业务清晰。代码量较少。开发和维护单个微服务相对简单。而整个应用是由若干个微服务构建而成的。
2.代码量少,启动快
3.局部修改部署
4.技术栈不受限
5.按需要伸缩
挑战:
运维要求较高:更多的微服务需要运维投入
分布式复杂性:1.分布式日志2.分布式事务3.分布式session4.系统容错5.网络延迟
微服务自动部署:
技术栈:Nexus+Jenkins+Git+GItLab+Docker+k8s
1.私有仓库搭建nexus
2.持续集成jenkins+maven
3.灰度发布