微服务架构设计模式 读书笔记一
作者:[美] 克里斯·理查森(Chris Richardson)
是Java社区的著名布道师、JavaOne等知名技术大会的常年主讲人,也是《POJOs in Action》(中文名《用轻量级框架开发企业应用》)一书的作者。
微服务领域公认的思想领袖,并定期在国际会议上发表演讲。
https://microservices.io的创建者,该网站专注于提供微服务架构模式语言。还包含指向其他资源(如文章、演示文稿和示例代码)的链接
什么是微服务?
微服务-也称为微服务架构,是一种架构方式,可将应用程序构造为一组服务。
微服务特性
- 独立运行在自己进程中。
- 一系列独立服务共同构建起整个系统。
- 一个服务只关注自己的独立业务。
- 轻量的通信机制RESTful API
- 使用不同语言开发
- 全自动部署机制
微服务架构可以快速,频繁且可靠地交付大型,复杂的应用程序。它还使组织能够发展其技术堆栈。
忠告
- 第一,要记住微服务不是解决所有问题的万能“银弹”。
- 第二,编写整洁的代码和使用自动化测试至关重要,因为这是现代软件开发的基础。
- 第三,关注微服务的本质,即服务的分解和定义,而不是技术,如容器和其他工具。
- 第四,确保你的服务松耦合,并且可以独立开发、测试和部署,不要搞成分布式单体服务,那将会是巨大的灾难。
- 第五,也是最重要的,不能只是在技术上采用微服务架构。要拥抱 DevOps 的原则和实践,在组织结构上实现跨职能的自治团队,这必不可少。
还必须记住:实现微服务架构并不是你的目标。你的目标是加速大型复杂应用程序的开发
微服务架构设计模式 读书笔记一相关推荐
- 微服务架构设计模式读书笔记
1.总览 2.单体架构 2.1 单体架构好处 主要体现在早期 应用开发简单 易于对应用程序进行大规模的更改 测试相对简单直观 部署简单明了 横向扩展不费吹灰之力 2.2 局限性 过度的复杂性会吓退开发 ...
- 轻量级微服务架构【读书笔记2】
1. Spring Boot 是什么(What) Spring Boot 是为生产级 Spring 应用而生的,它使得开发 Spring 应用程序更加高效.简洁. 1.1 由来 Spring 1.0 ...
- 微服务架构设计模式学习笔记——六边形架构
目录 一 软件架构的4+1模型 二 分层架构风格 三 六边型架构 四 代码示例 五 总结 一 软件架构的4+1模型 先上图,软件架构的4+1模型如图1.1所示: 图1.1 4+1模型 注:上图中的元素 ...
- 规模化微服务——《微服务设计》读书笔记
改变思维的角度:故障无处不在 当微服务规模化后,故障是无可避免的,以往我们总是想尽力避免故障的发生,而当故障实际发生时,我们往往束手无策.我们花了很多时间在流程设计和应用设计的层面上来阻止故障的发生, ...
- 康威定律和系统设计——《微服务设计》读书笔记
康威定律 任何组织在设计一套系统时,所交付的设计方案在结构上都与该组织的沟通结构保持一致. --梅尔.康威 如何理解这句话在软件工程上的含义?埃里克.S.雷蒙德说:如果你有四个小组开发一个编译器,那你 ...
- 安全——《微服务设计》读书笔记
身份认证和授权 1.单点登录(SSO) 当主体试图访问一个资源,他会被定向到一个身份提供者那里进行身份验证,身份提供者验明正向后会发消息给服务提供者,让服务提供者来决定是否允许它访问资源. ...
- 监控——《微服务设计》读书笔记
在单块应用的世界里,当我们遇到问题时,我们至少清楚从哪里开始调查.网站访问速度?网站访问异常?CPU占用过高?这些都是单块应用程序的问题,单一的故障点会极大地简化对问题的排查. 而现在我们面对了多个微 ...
- 测试——《微服务设计》读书笔记
一.测试象限(Brain Marick) 二.测试金字塔(Mike Cohn) 1.单元测试 通常只测试一个函数或方法调用,通过TDD或者基于属性而写的测试就属于这一类,在UnitTest ...
- 部署:持续集成(CI)与持续交付(CD)——《微服务设计》读书笔记
一.CI(Continuous Integration)简介 CI规则1:尽量频繁地把代码签入到分支中以进行集成 CI规则2:不光要对语法进行验,也要提供一系列的自动化来验证 CI规则3:CI失败后 ...
最新文章
- 使用command对象操作数据库
- Spark、Flink、CarbonData技术实践最佳案例解析
- Java程序员春招三面蚂蚁金服,1200页文档笔记
- adobe仿宋std r常规_宜春MF4003-5-06-CV-R气体质量流量计
- 编码练习——Java-6-类的高级特性
- SAP手工传输TP使用方法
- c++中.dll与.lib文件的生成与使用的详解
- P3694-邦邦的大合唱站队【状压dp】
- MySQL之EXPLAIN(索引优化)
- Java练习01 输出质数(素数) 使用及不使用标签Lable
- C#中反射和动态关键字有什么区别?
- 解决 vs2010问题 error MSB8008: 指定的平台工具集(v110)未安装或无效
- python 并查集_python 实现并查集源代码 | 学步园
- Android病毒家族及行为(一)
- java使用zxing_在Java中使用Zxing读取QRCode
- 群晖(Synology)配置 NAS + 软路由
- Java 正则表达式 匹配英文字母
- Win10 Edge浏览器假死解决方案
- MSDC 4.3 接口规范(16)
- Vue项目provide和inject的使用
热门文章
- 简易几何利用 ANSYS Multizone Meshing创建六面体网格应用案例
- 别不信,读书虽然不是唯一的出路,但读书一定是最好的出路
- linux内核如何修改lowmem,Linux Kernel Tuning for C500k
- 主成分分析法 (PCA) 用于数据可视化实验 -- Matlab版
- 谷德威天津思科CCNA培训之用户访问和权限管理
- ThinkPHP 6.0 phpspreadsheet操作Excel表格实例
- 算法-蓝桥杯习题(2-2)
- [附源码]java毕业设计健身房管理系统
- 程序员必看:如何快速戒掉熬夜(晚睡)强迫症
- MFC之CString对象的各种函数