微服务新手入门

一、微服务概念

微服务是一种软件架构风格,ta是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。

微服务

  • 服务拆分

  • 远程调用

  • 服务治理

  • 请求路由

  • 身份认证

  • 配置管理

  • 服务保护

  • 分布式事务

  • 异步通信

  • 消息可靠性

  • 延迟消息

  • 分布式搜素

  • 倒排索引

  • 数据聚合

单体架构

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。

优点:架构简单;部署成本低

缺点:团队写作成本高;系统发布效率低;系统可用性差

总结:单体架构适合开发功能相对简单,规模较小的项目。

微服务架构

微服务架构:是服务化思想指导下的一套最佳实践架构方案。服务化,就是把单体架构中的功能模块拆分为多个独立项目。

优点:粒度小;团队自治;服务自治。

SpringCloud

SpringCloud是目前国内使用最广泛的微服务框架。

SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

  • 服务注册发现:Eureka、Nacos、Consul

  • 服务远程调用:OpenFeign、Dubbo

  • 服务链路监控:Zipkin、Sleuth

  • 统一配置管理:SpringCloudConfig、Nacos

  • 统一网关路由:SpringCloudGateway、Zuul

  • 流控、降级、保护:Hystix、Sentinel

服务治理:

注册服务 -> 订阅服务 -> 负载均衡 -> 远程调用

服务提供者:注册服务;心跳续约

服务调用者:订阅服务;负载均衡;远程调用

注册中心:推送变更

Nacos是目前国内企业中占比最多的注册中心组件。是阿里巴巴的产品,目前已经加入SpringCloudAlibaba中。

Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

相关推荐
果子⌂29 分钟前
Docker-构建镜像并实现LNMP架构
mysql·nginx·docker·容器·架构·php
你喜欢喝可乐吗?33 分钟前
RuoYi-Cloud 验证码处理流程
java·spring cloud·微服务·vue
Java技术小馆1 小时前
langChain开发你的第一个 Agent
java·面试·架构
阿里云云原生2 小时前
从 Python 演进探寻 AI 与云对编程语言的推动
云原生
自由鬼2 小时前
正向代理服务器Squid:功能、架构、部署与应用深度解析
java·运维·服务器·程序人生·安全·架构·代理
亲爱的非洲野猪2 小时前
关于k8s Kubernetes的10个面试题
云原生·容器·kubernetes
沐森3 小时前
对于electron编译和运行上的依赖解释
架构
喷火龙8号3 小时前
MSC中的Model层:数据模型与数据访问层设计
后端·架构
西京刀客3 小时前
k8s之configmap
云原生·容器·kubernetes
前端付豪3 小时前
12、表单系统设计:动态表单 + 校验 + 可配置化
前端·javascript·架构