从InfoQ上免费下载了一本Microservices for Java Developers,这两天把前面部分稍微过了一下,感觉写的挺明白的。

Microservice的定义
Microservice architecture (MSA) is an approach to building software
systems that decomposes business domain models into smaller,
consistent, bounded-contexts implemented by services. These services
are isolated and autonomous yet communicate to provide some
piece of business functionality. Microservices are typically implemented
and operated by small teams with enough autonomy that
each team and service can change its internal implementation
details (including replacing it outright!) with minimal impact across
the rest of the system.

Microservice的特点
Teams communicate through promises, which are a way a service
can publish intentions to other components or systems that may
wish to use the service. They specify these promises with interfaces
of their services and via wikis that document their services. If there
isn’t enough documentation, or the API isn’t clear enough, the service
provider hasn’t done his job. A little more on promises and
promise theory in the next section.

Each team would be responsible for designing the service, picking
the right technology for the problem set, and deploying, managing
and waking up at 2 a.m. for any issues. For example, at Amazon,
there is a single team that owns the tax-calculation functionality that
gets called during checkout. The models within this service (Item,
Address, Tax, etc.) are all understood to mean “within the context of
calculating taxes” for a checkout; there is no confusion about these
objects (e.g., is the item a return item or a checkout item?). The
team that owns the tax-calculation service designs, develops, and
operates this service. Amazon has the luxury of a mature set of selfservice
tools to automate a lot of the build/deploy/operate steps, but
we’ll come back to that.

Microservice解决的问题
With microservices, we can scope the boundaries of a service, which
helps us:

Understand what the service is doing without being tangled into

other concerns in a larger application

Quickly build the service locally
Pick the right technology for the problem (lots of writes? lots of

queries? low latency? bursty?)

Test the service
Build/deploy/release at a cadence necessary for the business,

which may be independent of other services

Identify and horizontally scale parts of the architecture where

needed

Improve resiliency of the system as a whole

Microservices help solve the “how do we decouple our services and
teams to move quickly at scale?” problem. It allows teams to focus
on providing the service and making changes when necessary and
to do so without costly synchronization points. Here are things you
won’t hear once you’ve adopted microservices:

Jira tickets
Unnecessary meetings
Shared libraries
Enterprise-wide canonical models

Microservice是否适合你? (Microsercie带来很多好处,不过也都是有代价的)
Is microservice architecture right for you? Microservices have a lot
of benefits, but they come with their own set of drawbacks. You can
think of microservices as an optimization for problems that require
the ability to change things quickly at scale but with a price. It’s not

  1. It can be more resource intensive. You may end up with
  2. looks like duplication. Operational complexity is a lot higher. It

becomes very difficult to understand the system holistically. It
becomes significantly harder to debug problems. In some areas you
may have to relax the notion of transaction. Teams may not have
been designed to work like this.

并不是所有的业务都适合Microservice
Not every part of the business has to be able to change on a dime. A
lot of customer-facing applications do. Backend systems may not.
But as those two worlds start to blend together we may see the forces
that justify microservice architectures push to other parts of the system.

书不长一百多页,后面具体的配置、编码的部分还没看,前面看了感觉写的还可以。有需要的可以去InfoQ下载。
https://www.infoq.com/vendorcontent/show.action?vcr=4339&utm_source=infoq&utm_medium=VCR&utm_campaign=vcr_homePage_click&utm_content=bottom

笔记:Microservices for Java Developers相关推荐

  1. Top 10 Mistakes Java Developers Make(转)

    文章列出了Java开发者最常犯的是个错误. 1.将数组转换为ArrayList 为了将数组转换为ArrayList,开发者经常会这样做: ? 1 List<String> list = A ...

  2. Eclipse IDE for Enterprise Java Developers和JDK8与apache-tomcat-8下载地址

    jdk1.8.0_201下载地址: 官网下载页:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  3. Watch out for these 10 common pitfalls of experienced Java developers architects--转

    原文地址:http://zeroturnaround.com/rebellabs/watch-out-for-these-10-common-pitfalls-of-experienced-java- ...

  4. 菜鸟学Linux 第100篇笔记 tomcat 之 java

    菜鸟学Linux 第100篇笔记 tomcat 之 java 内容总览 java概述 java  包含四个独立却又彼此相关的技术 四个独立的技术运作流程 JVM的实现方式 JVM的虚拟机软件 JAVA ...

  5. Rai StudiesQuick Start Site for JAVA Developers

    Rai StudiesQuick Start Site for JAVA Developers http://www.raistudies.com/ posted on 2012-02-19 08:1 ...

  6. JavaSE入门0基础笔记 第二章Java基础语法

    JavaSE入门0基础笔记 第二章Java基础语法 1.运算符 1.1算术运算符 1.1.1运算符和表达式 1.1.2 算术运算符 1.1.3字符的"+"操作 1.1.4 字符串中 ...

  7. Eclipse IDE for Java Developers与Eclipse IDE for Java EE Developers的区别

    说实话,小编学希编程有段时间了,压根就以为天下的eclipse都是一家,一回事,只是版本不同罢了,最近接触了javaEE,才对eclipse有了一点新的认识,原来自己的想法一直狠2很天真,以前木有好好 ...

  8. python 3.6.5 java jdk版本_eclipse开发者版本下载-eclipse ide for java developers最新版v3.6.0 pc版 - 极光下载站...

    eclipse ide for java developers最新版是一款对于Java开发人员创建Java EE和Web应用程序.安装上Eclipse IDE后不仅可以编写Java和C/C++等程序还 ...

  9. “重金求来”Alibaba技术官并发编程笔记,附Java面经

    MySQL为何不选择平衡二叉树 既然平衡二叉树解决了普通二叉树的问题,那么mysql为何不选择平衡二叉树作为索引呢? 索引需要存储什么 让我们想一想,如果我们要把索引存起来,那么应该存哪些信息呢,它应 ...

最新文章

  1. exa:一个 ls 命令的现代替代品
  2. 让运维人崩溃的10大瞬间
  3. bootloader搞定,1.67秒!
  4. 保存光谱曲线出现问题_直读光谱仪计量周期-这家好【博越仪器】
  5. [HEOI2012] 朋友圈(最大团 + 结论 + 二分图 + 网络流)
  6. [翻译]API Guides - Bound Services
  7. 技术女性的是是非非(2)
  8. 系统架构设计师面试java架构师 面试经验分享
  9. void类型及void指针
  10. runtime无法执行grep_Caffe和py-faster-rcnn日常使用备忘录
  11. windows mac linux 木马,针对Linux Windows macOS系统Adwind木马广告攻击
  12. 热缓存 IHotCache --ESBasic 可复用的.NET类库(19)
  13. STM32CubeMX——固件库下载以及安装
  14. 青铜时代 —— 图像处理
  15. SAP GUI750 双击创建子例程没反应,补丁下载
  16. 云原生API网关 - 开源项目Hango网关设计与实践
  17. 单细胞测序之scater包数据分析教程复现
  18. Elasticsearch 聚合系列:adjacency matrix aggregation(邻接矩阵聚合)
  19. 毕业这么多年,为啥升职加薪这么难?
  20. VOC数据集的划分(训练集,验证集,测试集) 生成txt文件和标签

热门文章

  1. 【英语天天读】Man's Youth
  2. ASP.NET 网站路径
  3. 在storm中使用定时保存
  4. mysql sql running no_【MySql】复制出现Slave_SQL_Running: No 错误解决
  5. pde中微元分析法的主要思想_有限元方法的核心思想
  6. php框架费尔康,GitHub - majixian/study-phalcon: phalcon(费尔康)框架学习笔记
  7. ad18敷铜为什么打的孔里面也有_PCB覆铜后放置大量过孔有什么作用?具体怎么放置?...
  8. java在线编辑器_微软开源在线代码编辑器——Monaco Editor
  9. Shell 基础介绍 [1]
  10. 2、运行WordCount程序