什么是微服务,为什么要用微服务,它单体架构的服务有什么区别,能解决什么问题?
单体架构架构简单、开发部署测试简单,但是在工程代码复杂性高、相互兼顾一个代码变动可能影响大,项目部署慢效率低、扩展性不足,对新技术的支持有限
springcloud的使用,现需要理解springBoot的脚手架 微服务是将单体架构按照功能、区域进行拆分,模块小而精,单独部署,独立版本,减少项目模块间的耦合依赖。能够单独发布、灵活敏捷 可全自动部署,可水平扩展,提升整体项目的吞吐
微服务的适用场景
- 大型、复杂的项目
- 服务压力大
- 变更较快的服务
微服务不适用的场景
- 业务稳定
- 迭代周期长
如何添加ali的spring starter? spring官网可查看版本 在IDEA先配置Preferences配置HTTP Proxy,添加https://start.aliyun.com/,添加后check Connection进行检测,然后保存 在New Project SpringInitilizer自动选择spring initializer,即可添加相关依赖
如何做微服务的拆分
- 领域驱动,通过领域分析,将领域对象抽离,进行项目模块的组织
- 面向对象设计的方式,通过传统面向对象思维将对象拆分,进行模块功能的组织
-
另外也可根据自己的分析合理拆分
- 单体转微服务
- 做好领域分析、面向对象分析,产出项目架构图
- 进行数据库设计,设计后产生初始化数据库脚本
- 根据项目设计文档,编写API设计文档
SpringCloudAlibaba是什么?快速构建分布式系统的工具集
Featured Tags
工具类
XML
JAVA
Java
Mybatis
反射
代理模式
日志
工厂方法模式
装饰器模式
结果集映射
Web
RESTful
WebAPI规范
SQL
Redis
Jira
SynapseRT
有限状态机 State Machine
statemachine
SpringBoot
IDEA
Tomcat
Vue
Docker
Springboot
Apache Ignite
项目发布与调试
白帽子讲web安全
黑名单
通用化
企业中台实践
MacOS
docker
minio
springboot
分布式存储
Postgres
数据备份
数据恢复
K8S
抖音小程序
开发实践
SpringCloud
Skywalking
Nacos
Kubernetes
Secret
ConfigMap
Git
GitOps
云原生
RocketMQ
ActiveMQ-Artemis
ClickHouse
Kamailio
sipp
Homer
heplify
heplify-server
HEP