微服务与DDD简单介绍
首先微服务是一种架构模式,相比较单体架构,微服务架构更独立,能够单独更新和发布。微服务里面的服务仅仅用于某一个特定的业务功能。举个例子,单体架构就想一碗面条,所有模块都在一起,而微服务相当于甜甜圈,模块清楚,可以单独发布,想更新哪个就更新哪个。
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等
微服务设计原则
- 要领域驱动设计,而不是数据驱动设计(先建数据库),也不是界面驱动设计
- 要边界清晰的微服务,而不是泥球小单体
- 要职能清晰的分层,而不是什么都放的大箩筐
- 要做自己能hold住的微服务,而不是过度拆分的微服务
目录
DDD(Domain Driven Design),简称DDD,领域驱动设计
DDD作用 --------真正决定软件复杂性的是设计方法
DDD常用概念-领域
DDD常用概念-界限上下文
DDD常用概念-领域模型
DDD域微服务四层架构
微服务与DDD简单介绍相关推荐
- 开课吧:微服务与DDD解析
DDD 不是一种架构, 而是一种架构方法论, 目的就是将复杂问题领域简单化, 帮助我们设计出清晰的领域和边界, 可以很好的实现技术架构的演进. DDD涵盖两部分:战略设计部分.战术设计. 战略设计从业 ...
- 微服务API模拟框架frock介绍
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/02/introducing-frock Urban Airship是一家帮助 ...
- 再见了微服务,DDD已成气候!
前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...
- 最新微服务框架SpringCloud Alibaba介绍,搭建
微服务和SpringCloud Alibaba详细介绍(一),手把手搭建微服务框架 PS:本博客是本人参照B站博主:JAVA阿伟如是说 的视频讲解手敲整理的笔记 跟着一起手动搭建的框架 供大家一起学习 ...
- 再见了微服务!DDD 已成气候!
前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...
- 集群、分布式、微服务的区别和介绍
目录 一.集群的概念 二.为什么要使用集群? 1.集群的特点 2.集群的优势 3.集群分类及不同分类的特点 三.集群分类介绍 1.负载均衡集群 2.高可用性集群 3.高性能计算集群 四.集群与分布式区 ...
- Spring Cloud 微服务及五大组件介绍
目录 什么是微服务? 一.服务注册与发现--Eureka EureKa自我保护机制:好死不如赖活着 Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说两者的区别 二.负载均衡: 三 ...
- 微服务开发框架主流技术介绍
分布式系统概念: 只要是将一个项目拆分成了多个模块,并将这些模块分开部署并通过一定通信机制进行通信.协调,而对外表现如同一个系统,那就算是分布式. 主流的分布式实现有两种方式:水平拆分,或垂直拆分(也 ...
- 微服务架构的简单实现-Stardust
微服务架构,一个当下比较火的概念了.以前也只是了解过这方面的概念,没有尝试过.想找找.NET生态下面是否有现成的实现,可是没找到,就花了大半个月的闲暇时间,遵循着易用和简单,实现了一个微服务框架,我叫 ...
最新文章
- 《数据库系统概念》9-附加关系运算
- PHP的pathinfo()
- linux c之assert函数使用总结
- 不能头脑一热,就布局颠覆性技术、上马未来产业
- 基于Flask框架的Python web程序的开发实战 二 项目组织结构
- python对象模型映射_【500 Lines or Less】-【翻译练习】-【chapter 14】-【简单对象模型】-【第一部分】...
- Software--Architecture--SOA 面向服务体系结构
- 【九天教您南方cass 9.1】01 安装Cad和Cass9.1
- 单片机测试雨滴传感器
- vue2.0网易云音乐播放器 (实时更新)
- R语言检验时间序列中是否存在自相关性:使用box.test函数执行box-pierce检验验证时间序列中是否存在自相关性
- Win10电脑 安装 逍遥模拟器【安装步骤、使用指南、逍遥多开器、卸载“逍遥模拟器”、安装手机软件示例“学习国防”】
- 使用心得:[屏幕录制专家]与[Macromedia Captivate]的比拼
- PAT 甲级 1016. Phone Bills
- 钝化程序模式SOA架构BPM
- 如何用Xshell快速连接远程电脑
- 潜在客户生成,应该如何做?
- 小区物业管理系统(数据库课程设计)
- Shoping~添加+修改+删除+批量删除
- 美国总统,国务卿给做“广告”,黑莓手机想不火都不行