=====================================================================
一个归档包(例如war包)包含所有功能的应用程序,我们通常称为单体应用。而架构单体应用的方法论就是单体应用架构。
- 架构图
-
架构简单
-
开发、测试、部署方便
-
复杂性高
-
部署慢,频率低
-
扩展能力受限
-
阻碍技术创新
====================================================================
一词最早来自于Martin Fowler的一篇微服务文章
- 翻译
微服务架构风格是一种将一个单一应用程序开发为一组小型服务
的方法,每个服务运行在自己的进程
中,服务间通信采用轻量级通信机制
(通常用HTTP资源
API)。这些服务围绕业务能力构建
并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理
,服务可用不同的语言开发
,使用不同的数据存储技术
-
每个微服务可独立运行在自己的进程里
-
一系列独立,运行的微服务共同构建起整个系统
-
每个服务为独立的业务开发,一个微服务只关注某个特定的功能,例如订单管理、用户管理等
-
可使用不同的语言与数据存储技术(契合项目情
况和团队实力)
-
微服务之间通过轻量的通信机制进行通信,例如通过REST API进行调用;
-
全自动的部署机制
-
单个服务更易于开发、维护
-
单个微服务启动较快
-
局部修改容易部署
-
技术栈不受限
-
按需伸缩
-
运维要求高
-
分布式固有的复杂性
-
重复劳动
-
大型、复杂的项目
-
有快速迭代的需求
-
访问压力大
-
业务稳定
-
迭代周期长
======================================================================
◆ 领域驱动设计( Domain Driven Design )
◆ 面向对象 ( by name./ by verb. )
◆ 职责划分
◆ 通用性划分
◆ 良好地满足业务
◆ 幸福感
◆ 增量迭代
◆ 持续演进
- 拆分
- 项目架构图
======================================================================
======================================================================
========================================================================================
建议和笔者保持一致
-
前往 https://nodejs.org/en/download/ 下载Node.js。
-
安装说明
-
macOS操作系统,用pkg直接拖动安装即可