zoukankan      html  css  js  c++  java
  • 微服务(Micro service)认知

    微服务萌芽

    首先聊点比较熟悉的:MVC模式,把一套系统分成三大类,前台页面和逻辑控制、数据库,最大的缺点就是当三者中的任何一个出现非常严重的Bug时运维人员要把整个系统的服务都停下来,一人生病全家休息!为了解决这种情况,一种“分家”的思路就萌芽了,把一大家分成小家,把庞大的系统切分成很多小系统,每个系统负责不同的业务功能。具体的可以参考 https://www.cnblogs.com/40406-jun/p/6535443.html

    微服务介绍

    微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。微服务没有精确的定义,共同的特性,如围绕业务能力组织服务、自动化部署、智能端点、对语言及数据的“去集中化”控制等等。

    认知盲点

    在认知初期,服务和功能傻傻分不清,所以我不喜欢把功能服务放在一起。微服务中的服务是指完成一个事情的整套流程,比如打车服务,但是里面包括很多小功能,下单和取消订单等

    优点

    1. 简单专注:每个服务比较简单,只关注一个业务
    2. 灵活:每个微服务内部功能高内聚,微服务之间松耦合
    3. 跨语言:每个微服务可以支持不同的开发语言,只需要注意调用方式
    4. 互不影响:一人生病,其他人照样上班
    5. 分步骤交付:工期长的项目可以交付

    缺点

    1. 代码重复:底层实现的功能被多个微服务使用
    2. 开发人员技术要求高:开发人员也要回维护微服务系统
    3. 维护成本高:
    4. 接口问题:
    5. 分布式系统的复杂性:作为一种分布式系统,微服务引入了复杂性和其他若干问题,例如网络延迟、容错性、消息序列化、不可靠的网络、异步机制、版本化、差异化的工作负载等,开发人员需要考虑以上的分布式系统问题。
  • 相关阅读:
    <转>CSS3 Media Queries 实现响应式设计
    css3的display:box研究
    CSS3制作渐变文字
    (转)apple-touch-icon-precomposed 和 apple-touch-icon属性区别
    (转)移动平台的meta标签
    day 57 jQuery插件
    day56 文件 文档处理,事件
    day 55 jQuery-part2
    day 54 jQuery, part-1
    day 52 dom 事件
  • 原文地址:https://www.cnblogs.com/yuanhailiang/p/8809093.html
Copyright © 2011-2022 走看看