微服务之浅见

作者: 沪上最强亚巴顿 | 来源:发表于2016-07-04 09:46 被阅读71次

0. 巨石应用

  • 巨石型应用的好处:IDE都是为开发单个应用设计的、容易测试——在本地就可以启动完整的系统、容易部署——直接打包为一个完整的包,拷贝到web容器的某个目录下即可运行.
  • 对于大规模的复杂应用,巨石型应用会显得特别笨重:要修改一个地方就要将整个应用全部部署(PS:在不同的场景下优势也变成了劣势);编译时间过长;回归测试周期过长;开发效率降低等。另外,巨石应用不利于更新技术框架,除非你愿意将系统全部重写。

1. 应用的scale cube

  • 一个系统的扩展过程:
    • (1)x轴,水平复制,即在负载均衡服务器后增加多个web服务器;
    • (2)z轴扩展,是对数据库的扩展,即分库分表(分库是将关系紧密的表放在一台数据库服务器上,分表是因为一张表的数据太多,需要将一张表的数据通过hash放在不同的数据库服务器上);
    • (3)y轴扩展,是功能分解,将不同职能的模块分成不同的服务。从y轴这个方向扩展,才能将巨型应用分解为一组不同的服务.
  • 系统的服务划分的方法: 1) 按照用例划分; 2) 按照资源划分.
    • 分解的目标: 解决巨石应用在业务急剧增长时遇到的问题.

2. 微服务的主要缺点

  • 开发人员要处理分布式系统的复杂性, 设计服务之间的通信机制.
  • 服务管理的复杂性(Docker).
  • 应用微服务架构的时机如何把握? .

3. 架构的关键问题

  • 通信机制
    • 客户端与服务器之间的通信.
      • 添加API Gateway 来讲用户的一个请求, 分解为对内部service 的一系列调用, 从而避免了一次请求, 多次客户端和服务器的交互.
    • 内部服务间的通信.
      • 基于HTTP 的同步协议(Rest, RPC).
      • 基于消息队列的异步消息处理机制.
  • 分布式数据管理
    • 处理读请求.
    • 处理更新请求.

相关文章

  • 微服务之浅见

    0. 巨石应用 巨石型应用的好处:IDE都是为开发单个应用设计的、容易测试——在本地就可以启动完整的系统、容易部署...

  • 唐代离别诗的意境之思之浅见

    唐代离别诗的意境之思之浅见https://mbd.baidu.com/newspage/data/landings...

  • 《抱朴子》笔记

    浅见之家,偶知一事,便言已足。 ——《抱朴子·内篇·微旨》 浅见的人,偶然知道一个事,就以为自己懂得很多了。河伯到...

  • 写作之浅见

    读书浅见 我素喜欢读书的,相比于充斥的电子书籍,我偏向于纸质书本真实的触...

  • EOS之浅见

    说实话,加入春节共读EOS群本来抱着学习其他人的做法的,没想到一来,石三老师就布置一个作业,让写一篇学习E...

  • 投资之浅见

    重工不如轻工,用品不如食品; 男人不如女人,大人不如小孩; 多元不如专业,做生不如做熟。

  • 学习之浅见

    看了班助的一篇文章,深度工作法。有感。由此让我联想到我读书那会儿,别人明明玩的好,上课的时候都跟我们一样在上课听课...

  • 斑疹之浅见

    人有一时身热,即便身冷,而满体生斑如疹者,乃火从外泄而不得尽泄于皮肤,故郁而生斑,人尽以为热也,用寒凉之药...

  • 痈疽之浅见

    人有背生痈疽,或生于胸腹之间,或生于头面之上,或生于手足臂腿之间,或生于前阴粪门之际,五日之内,未成脓奔溃...

  • 读书之浅见

    我是素喜欢读书的,相比于充斥的电子书籍,我偏向于纸质书本真实的触感及墨香。我保留了每天读书的良好习惯,读过的...

网友评论

    本文标题:微服务之浅见

    本文链接:https://www.haomeiwen.com/subject/qxjehttx.html