zoukankan      html  css  js  c++  java
  • 微服务spring-cloud 学习第一天

    了解微服务

        微服务架构风格是一种将单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,
    服务间通信采用轻量级通信机制(通常使用HTTP)。这些服务围绕业务能力构建并且可通过自动部署机制
    独立部署。这些服务公用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技
    术。

    微服务总结

    1. 每个微服务可独立运行在自己的进程中。
    2. 一系列独立运行的微服务构建了整个系统。
    3. 每个服务独立开发,只关注自己的业务。
    4. 微服务通过轻量级的通信机制,RESTfulApi
    5. 可以使用不同的语言。
    6. 全自动的部署机制。

    微服务优点

    1. 易于开发和维护,一个微服务只关注特定的功能。
    2. 单个微服务启动时间快速。
    3. 局部容易修改容易部署,某个模块出了问题只需要发布当前服务就行。单体应用是需要发布整个应用。
    4. 技术不受限制,例如:某个模块需要使用MySql数据库,某些模块需要使用Oracle数据库
    5. 可根据需求,实现细粒度的扩展。例如:某个服务遇到瓶颈可增加内存或者增加节点等

    微服务缺点

    1. 运维成本增加。单体应用只需要保证一个应用正常就行,微服务需要保障多个甚至几十上百个。
    2. 分布式固定的复杂性,网络延迟、系统容错等情况。
    3. 接口调整成本高,如果某个接口修改了入参或者返回的类型,那么所有调用该接口的都需要修改。(可使用Json)

    微服务设计原则

      1. 单一职责原则
            单一职责原则指的是一个单元(类、方法或者服务等)只应关注整个系统功能中单独、有界限的一部分。单一职责原则可以帮助我们更优雅的开发、更敏捷的交付。
      2. 服务自治原则
            服务自治原则是指每个微服务应具备独立的业务能力、依赖于运行环境。在微服务架构中,服务是独立的单元,应该与其他服务高度解耦。每个服务从开发、测试、构建、部署,都应当独立完成。
      3. 轻量级通信机制
            微服务之间应该通过轻量级的通信机制进行交互。常用协议有RESTAMQP、STOMP(STOMP,Streaming Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。其中最流行的STOMP消息代理是Apache ActiveMQ。)、MQTT等.
      4. 微服务粒度
            微服务的粒度是难点,也常常是争论的焦点。应当合理的去划分微服务粒度,而不是一味的把服务做小。代码量的多少不能作为微服务的依据。因为微服务本身的业务复杂度不同,代码量也会不同。

        微服务架构

        目前市面上有SpringCloud 和dubbo等,后面笔者会写着两种。
    作者:诗和远方
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Key and Certificate Conversion
    openssl
    python http通信实现
    鼠标右键添加cmd
    好文章
    wireshark里无网络接口解决办法
    python垃圾回收
    终于有人把 Docker 讲清楚了
    mongodb的监控与性能优化
    mongodb创建超级用户和普通用户(对应数据库的用户)
  • 原文地址:https://www.cnblogs.com/JavaHxm/p/9145354.html
Copyright © 2011-2022 走看看