# ojs-springcloud2 **Repository Path**: old_java_sticks/ojs-springcloud2 ## Basic Information - **Project Name**: ojs-springcloud2 - **Description**: 基于springboot2.X快速搭建springcloud - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-09-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## ojs-springcloud2 ### 介绍 springcloud基于springboot2.X ### 微服务 * 微服务是一种架构风格 * 一系列微小的服务构成 * 跑在自己的进程里 * 每个服务为独立的业务开发 * 独立部署 * 分布式的管理 ### 服务拆分考虑 * 起点与终点 * 因素与原则 #### 起点 与 终点 * 起点: 既有的架构形态 * 终点: 好的架构不是设计出来的, 是进化而来的,一直演进ing #### 因素 不适合微服务的因素 * 系统中包含很多强事务场景,微服务一般是最终一致性软事务 * 业务相对稳定,迭代周期长 * 访问压力不大,可用性要求不高 * 康威定律,公司组织架构也可能需要改变 #### 原则 服务拆分方法论 * X轴 水平复制 * Z轴 数据分区 * Y轴 功能解耦 ##### 如何拆功能 * 单一职责 高内聚 松耦合 * 关注分离点 > 按职责 > 按通用性 > 按颗粒度 ##### 服务与数据的关系 * 先考虑业务功能,再考虑数据 * 无状态服务 ##### 如何拆数据 * 每个微服务都有单独的数据库 * 依据服务特点选择不同类型的数据库 * 难点:确定边界设计API,权衡数据冗余