微服务建构思想

微服务架构思想

微服务架构优点

1、易于开发和维护:一个微服务只会关注一个特定的业务功能。所以它业务清晰。代码量较少。开发和维护

单个微服务相对简单。而整个应用是由若干个微服务构建而成的。

2、单个微服务启动较快:单个微服务代码量较少,所以启动比较快。

3、局部修改容易部署:单体应用只要有修改,就得重新部署整个应,微服务解决了该问题。如果想对某个微

服务进行修改,只需要重新部署这个服务即可。

4、技术栈不受限:可以结合项目业务和团队的特点,合理地选择技术。

5、按需伸缩:可根据需求,实现细粒度的扩展。

微服务架构的挑战

运维要求较高:

部署问题:更多的服务意味着更多的运维投入。

分布式固有的复杂性:

使用微服务构建的是分布式系统。对于一个分布式系统来说问题:

1、分布式日志

2、分布式事务

3、分布式Session

4、系统容错

5、网络延迟

微服务自动化部署

Nexus+Jenkins+Git|Gitee|Gitlab+Docker+K8s

1、私有仓库搭建 Nexus

2、持续集成 Jenkins+Maven

3、灰度发布

微服务日志收集与性能监控

1、日志收集工作 日志输出----日志收集-----日志分析 -----ELK
2、性能监控-----Zabbix

3、链路追踪-----sleuth+Zipkin

通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们可以很方便的理清各微服务间的调用关系。

zipkin是一种分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。

微服务自动化测试与质量管理

SonarQube

整体架构

前面给我们项目的微服务应用都加上监控告警。Spring Boot Actuator的引入只是第一步

  • 如何集成监控告警系统Prometheus和图形化界面Grafana
  • 如何自定义监控指标,做应用监控埋点 Prometheus
  • 如何集成Alertmanager 进行告警

数据收集器,它以配置的时间间隔定期通过HTTP提取指标数据。

一个时间序列数据库,用于存储所有指标数据。

一个简单的用户界面,您可以在其中可视化,查询和监视所有指标。

相关推荐
Light6015 小时前
数据模型全解:从架构之心到AI时代的智慧表达
人工智能·架构·数据模型·三层架构·数仓建模·ai辅助·业务翻译
不爱笑的良田20 小时前
从零开始的云原生之旅(十一):压测实战:验证弹性伸缩效果
云原生·容器·kubernetes·go·压力测试·k6
Wang's Blog1 天前
Nestjs框架: 微服务容器化部署与网络通信解决方案
docker·微服务·云原生·架构·nestjs
小马哥编程1 天前
【软考架构】案例分析-对比MySQL查询缓存与Memcached
java·数据库·mysql·缓存·架构·memcached
EnCi Zheng1 天前
阿里巴巴六边形架构-从解耦到可测试的架构设计利器
架构
绝无仅有1 天前
某游戏大厂的常用面试问题解析:Netty 与 NIO
后端·面试·架构
Serverless社区1 天前
为什么别人用 DevPod 秒启 DeepSeek-OCR,你还在装环境?
阿里云·云原生·serverless
小马哥编程1 天前
【软考架构】案例分析-分布式锁
分布式·架构
一枚正在学习的小白1 天前
k8s的包管理工具helm3--流程控制语句和变量(3)
linux·运维·服务器·云原生·kubernetes
陈果然DeepVersion1 天前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(四)
java·spring boot·微服务·kafka·面试题·rag·ai智能客服