• SpringCloud微服务概述


    一、为什么使用微服务?

    传统的 Java Web 都是采用单体架构的方式来进行开发、部署、运维,随着业务的发展,开发变得越来越复杂;修改、新增某个功能,需要对整个系统进行测试,重新部署;一个模块出现问题,很可能导致整个系统崩溃;多团队同时对数据进行管理,容易产生安全漏洞;各模块使用同一种技术框架,很难根据具体业务需求选择更合适的框架,局限性太大;模块内容过于复杂,如果员工离职,可能需要很长时间才能完成任务交接…为了解决这些问题,微服务应运而生,将一个单体应用拆分成若干个小型的服务,在系统架构层面进行解耦合,协同完成系统功能的一种架构模式。

    二、微服务的优缺点

    1、优点

    • 系统中的不同功能模块拆分成多个不同服务,这些服务能够独立部署和扩展;
    • 由于每个服务都运行在自己的进程内,因此更新时不会影响其他服务的运行;
    • 由于独立部署,可以更准确的为每个服务评估性能容量。

    2、缺点

    • 学习难度和运维难度增加;
    • 拆分服务后,业务逻辑上的依赖不会消除,单体应用中的代码依赖变为服务间的通信依赖,一旦因为某些原因导致接口出错,就有可能产生级联反应,造成整个系统崩溃;
    • 单体服务拆分后,分布式环境复杂,综合考虑的因素增加,比如某个需求调用多个微服务,如何保证数据一致性、网络延迟、异步消息等。

    三、为什么选SpringCloud?

    SpringCloud是一个解决微服务架构实施的综合性解决框架,整合了诸多被广泛实践和证明过的框架作为实施的基础部件,又在该体系基础上创建了一些非常优秀的组件。

    对于 Java 开发者而言,Spring 全家桶系列产品的优势在于功能齐全、简单好用、性能优越、文档规范,有着极高的社区活跃度,实际开发中就各方面综合因素来看,Spring Cloud 是微服务架构中非常优秀的实现方案。

    四、什么是SpringCloud?

    SpringCloud 是一个基于SpringBoot实现的微服务架构开发工具。它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
    Spring Cloud 包含了多个子项目,如下图所示:
    Spring Cloud架构

  • 相关阅读:
    chrome浏览器解析xml
    CuteEditor报错 空引用错误
    猫哥网络编程系列:HTTP PEM 万能调试法
    猫哥网络编程系列:详解 BAT 面试题
    全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)
    全新 Mac 安装指南(通用篇)(推荐设置、软件安装、推荐软件)
    魅族手机浏览器兼容性调优最佳实践
    使用 nvm 管理不同版本的 node 与 npm
    一种让 IE6/7/8 支持 media query 响应式设计的方法
    排列组合算法的javascript实现
  • 原文地址:https://www.cnblogs.com/luckyliulin/p/13635915.html
Copyright © 2020-2023  润新知