微服务建构思想

微服务架构思想

微服务架构优点

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提取指标数据。

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

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

相关推荐
基哥的奋斗历程9 分钟前
kubernetes configMap 存储
云原生·容器·kubernetes
Java技术小馆1 小时前
如何设计一个本地缓存
java·面试·架构
数据智能老司机2 小时前
CockroachDB权威指南——SQL调优
数据库·分布式·架构
数据智能老司机2 小时前
CockroachDB权威指南——应用设计与实现
数据库·分布式·架构
数据智能老司机2 小时前
CockroachDB权威指南——CockroachDB 模式设计
数据库·分布式·架构
mghio14 小时前
Dubbo 中的集群容错
java·微服务·dubbo
uhakadotcom15 小时前
视频直播与视频点播:基础知识与应用场景
后端·面试·架构
沉登c18 小时前
第 3 章 事务处理
架构
阿里云云原生18 小时前
LLM 不断提升智能下限,MCP 不断提升创意上限
云原生
阿里云云原生18 小时前
GraalVM 24 正式发布阿里巴巴贡献重要特性 —— 支持 Java Agent 插桩
云原生