首先微服务是一种架构模式,相比较单体架构,微服务架构更独立,能够单独更新和发布。微服务里面的服务仅仅用于某一个特定的业务功能。举个例子,单体架构就想一碗面条,所有模块都在一起,而微服务相当于甜甜圈,模块清楚,可以单独发布,想更新哪个就更新哪个。

DDD(Domain Driven Design),简称DDD,领域驱动设计

康威定律(Conway's Law) 组织----对应------微服务拆分

DDD作用 --------真正决定软件复杂性的是设计方法

1. 有助于指导我们确定系统边界

2. 能够聚焦在系统核心元素上

3.帮助我们拆分系统

DDD常用概念-领域

1、领域:领域是有范围界限的,也可以说是有边界的。

2、核心域:核心域是业务系统的核心价值。

3、通用子域:所有子域的消费者,提供着通用服务。

4、支撑子域:专注于业务系统的某一重要的业务。

DDD常用概念-界限上下文

理解:相当于语文中语境的意思

使用方式:领域+界限上下文

目的:不在于如何划分边界,而在于如何控制边界

DDD常用概念-领域模型

理解:领域模型是对我们软件系统中要解决问题的抽象表达

领域:反映的是我们业务上需要解决的问题

模型:我们针对该问题提出的解决方案

DDD域微服务四层架构

接口(interface):通常是我们用户的界面展示

应用层(Application):协调工作,接受数据等。

领域层(Domain):实现业务规则

基础设施层(Infrastructure):中间件、云设施、Mysql等

微服务设计原则

  1. 要领域驱动设计,而不是数据驱动设计(先建数据库),也不是界面驱动设计
  2. 要边界清晰的微服务,而不是泥球小单体
  3. 要职能清晰的分层,而不是什么都放的大箩筐
  4. 要做自己能hold住的微服务,而不是过度拆分的微服务

目录

DDD(Domain Driven Design),简称DDD,领域驱动设计

DDD作用 --------真正决定软件复杂性的是设计方法

DDD常用概念-领域

DDD常用概念-界限上下文

DDD常用概念-领域模型

DDD域微服务四层架构


微服务与DDD简单介绍相关推荐

  1. 开课吧:微服务与DDD解析

    DDD 不是一种架构, 而是一种架构方法论, 目的就是将复杂问题领域简单化, 帮助我们设计出清晰的领域和边界, 可以很好的实现技术架构的演进. DDD涵盖两部分:战略设计部分.战术设计. 战略设计从业 ...

  2. 微服务API模拟框架frock介绍

    本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/02/introducing-frock Urban Airship是一家帮助 ...

  3. 再见了微服务,DDD已成气候!

    前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...

  4. 最新微服务框架SpringCloud Alibaba介绍,搭建

    微服务和SpringCloud Alibaba详细介绍(一),手把手搭建微服务框架 PS:本博客是本人参照B站博主:JAVA阿伟如是说 的视频讲解手敲整理的笔记 跟着一起手动搭建的框架 供大家一起学习 ...

  5. 再见了微服务!DDD 已成气候!

    前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...

  6. 集群、分布式、微服务的区别和介绍

    目录 一.集群的概念 二.为什么要使用集群? 1.集群的特点 2.集群的优势 3.集群分类及不同分类的特点 三.集群分类介绍 1.负载均衡集群 2.高可用性集群 3.高性能计算集群 四.集群与分布式区 ...

  7. Spring Cloud 微服务及五大组件介绍

    目录 什么是微服务? 一.服务注册与发现--Eureka EureKa自我保护机制:好死不如赖活着 Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说两者的区别 二.负载均衡: 三 ...

  8. 微服务开发框架主流技术介绍

    分布式系统概念: 只要是将一个项目拆分成了多个模块,并将这些模块分开部署并通过一定通信机制进行通信.协调,而对外表现如同一个系统,那就算是分布式. 主流的分布式实现有两种方式:水平拆分,或垂直拆分(也 ...

  9. 微服务架构的简单实现-Stardust

    微服务架构,一个当下比较火的概念了.以前也只是了解过这方面的概念,没有尝试过.想找找.NET生态下面是否有现成的实现,可是没找到,就花了大半个月的闲暇时间,遵循着易用和简单,实现了一个微服务框架,我叫 ...

最新文章

  1. 《数据库系统概念》9-附加关系运算
  2. PHP的pathinfo()
  3. linux c之assert函数使用总结
  4. 不能头脑一热,就布局颠覆性技术、上马未来产业
  5. 基于Flask框架的Python web程序的开发实战 二 项目组织结构
  6. python对象模型映射_【500 Lines or Less】-【翻译练习】-【chapter 14】-【简单对象模型】-【第一部分】...
  7. Software--Architecture--SOA 面向服务体系结构
  8. 【九天教您南方cass 9.1】01 安装Cad和Cass9.1
  9. 单片机测试雨滴传感器
  10. vue2.0网易云音乐播放器 (实时更新)
  11. R语言检验时间序列中是否存在自相关性:使用box.test函数执行box-pierce检验验证时间序列中是否存在自相关性
  12. Win10电脑 安装 逍遥模拟器【安装步骤、使用指南、逍遥多开器、卸载“逍遥模拟器”、安装手机软件示例“学习国防”】
  13. 使用心得:[屏幕录制专家]与[Macromedia Captivate]的比拼
  14. PAT 甲级 1016. Phone Bills
  15. 钝化程序模式SOA架构BPM
  16. 如何用Xshell快速连接远程电脑
  17. 潜在客户生成,应该如何做?
  18. 小区物业管理系统(数据库课程设计)
  19. Shoping~添加+修改+删除+批量删除
  20. 美国总统,国务卿给做“广告”,黑莓手机想不火都不行

热门文章

  1. 计算机技能测试题五,计算机技能测试题一
  2. C语言求排列组合和阶乘
  3. 阿里云李钟:弹性计算控制系统团队提效之路
  4. 咖啡店如何打造口碑,提升营业额
  5. Vue 引入element-ui 组价,提示:import 'element-ui/lib/theme-default/index.css'
  6. Java枚举类、注解和反射
  7. 差分数列中的对数螺线性质
  8. 前端开发:JS生成32随机数的方法
  9. 荷兰国旗问题(Dutch National Flag Problem)
  10. 为什么要做接口测试? 怎么用Jmeter接口测试工具? 你都会了吗? 这里给大家全面介绍