云原生运维开发项目
项目链接地址:
https://gitee.com/a-bais/yys或者
https://github.com/20gu00/yys
全面 系统,直接看下面的介绍即可。后续考虑对这个项目做个完整的教程,使用过程中有问题的私信我即可
放下我的readme文件:
介绍
一个云原生项目,模拟一条完整的云原生生产线,涉及到各类云原生知识,k8s,容器化,go微服务开发,运维,服务网格istio,存储集群,日志系统,监控系统,devops等
主要的知识点技术点:
云原生基础环境:k8s docker linux
微服务开发:go go-zero istio
CI/CD:tekton gitops
存储:rook-ceph nfs共享卷
监控:prometheus grafana alertmanager
日志:ELK Loki
其他:mysql redis kafka ansible等
整个项目高度容器化,k8s是基石环境,采用go语言go-zero框架编写的微服务架构的应用程序(当然这里单体和微服务之间的转换很平滑,为了更明显突出servicemesh效果我优先考虑了微服务架构),主题上可封为两大部分,后台管理系统和服务应用,在支付和订单的逻辑处理间为了保证消息数据的正确使用,接入kafka做消息队列,部分延时功能用ansyq做延时队列,运行在istio中,做流量管理负载均衡、安全管控、链路追踪、故障注入、熔断、流量镜像等。应用提供了metrics接口,prometheus拉取metrics数据做监控grafana可视和告警通知等。使用ceph集群和nfs共享卷做存储,为了更优化本地程序的性能,部分程序采用localpv。tekton配合我本地配置的gitlab和harbor做CI/CD
我的环境:4台各4核8g的ESC(机子性能,看你自己需求,我这个机子资源过多了其实,整个项目没必要开这么大,我只是为了我的别的一些程序)
通过我的公网地址和对应的端口即可访问我对外提供的服务,上面我提到的服务大部分对外开放(后续我考虑将服务端口整理出来供网友公网访问)
个人预计后续优化:
1.将程序做成helm包,或者使用operator来实现更贴近云环境的开发
2.接入dapr,更好的开发微服务
3.配置Loki,轻量且高效
4.加入gitops,tekton gitops理念实现更真实的CI/CD。jenking使用kubernetes插件来配置云做cicd(无他,使用用户量在,但我觉得kubernetes用jenkins做cicd有点重)
5.缓存相应的代码逻辑进一步设计优化,缓存设计不好并发就是空谈
6.数据库换osd,有istio接入,实现更好的高可用,更方便实现如读写分离等操作
7.监控promenthues grafana alertmanager不够轻,采用promentheusOperator或者Thnos
放下部分图片介做绍
链路追踪可视:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhighbef
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22