第一章:基础知识(Spring cloud微服务实战)

本章主要学习一些关于微服务架构以及Spring cloud的基础知识


什么是微服务架构

微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。被拆分成的每一个小型服务都围绕着系统中的某一项或者一些耦合度高的业务功能进行构建,并且每个服务都维护着自身的数据存储,业务开发,自动化测试案例以及独立部署机制,由于有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。


与单体系统的区别

    传统的企业系统架构中,我们针对复杂的业务需求通常分为三个主要部分:数据库、服务端、前端展现。

随着企业的发展和移动端设备的进步,单体应用由于面对的需求更为宽泛,会使得单体应用越来越臃肿,维护成本会越来越大,且难以控制。


微服务由于服务的拆分也引发了新的问题和挑战:

1.运维的新高度,微服务架构中,运维人员要维护的进程数量会大大增加。

2.接口的一致性,由于拆分了服务,业务逻辑上的依赖要通过服务通信机制,因此需要更完善的接口和版本管理,遵循开闭原则。

3.分布式的复杂性,分布式环境的问题比如网络延迟、分布式事务、异步消息。


微服务架构的九大特性

1.服务组件化

    服务组件化,服务是进程外的组件,通过http等通信协议进行协作。每一个服务都独立开发、部署,可以有效的避免一个服务的修改引起整个系统的重新部署。

2.按业务组织团队

    实施微服务架构时,建议按照业务线的方式进行拆分,一方面有效减少服务内部修改所产生的内耗,另一方面,团队边界变的更加清晰。

3.做“产品”的态度

4.智能端点与哑管道

    在微服务中通常有两种服务调用方式:

    第一种,使用HTTP的RESTful API或者轻量级的消息发送协议,实现信息传递与服务调用的触发。

    第二种,通过在轻量级消息总线上传递消息,类似RabbitMQ等一些提供可靠异步交换的中间件。

5.去中心化治理

    微服务架构,通常采用轻量级的契约定义接口,微服务架构系统中的各个组件就可以根据不同的业务特点选择不同的技术平台。

6.去中心化管理数据

    每一个服务管理自有的数据库,这就是数据去中心化,但是由于数据存储在不同的数据库实例中,数据一致性称为了新的问题。分布式事务本身的实现难度就很大,所以在微服务中,我们强调在各个服务之间进行“无事务”的调用,数据一致性只要求数据在最后的处理状态是一致的即可,若在过程中发现错误,通过补偿机制来进行处理,使得错误数据能够达到最终的一致性。

7.基础设施自动化

    自动化测试,自动化部署

8.容错设计

    微服务架构中快速检测出故障源并尽可能的自动恢复服务是必须被设计和考虑的,通常希望在每个服务中实现监控和日志记录的组件,比如服务状态,断路器状态,吞吐量,网络延迟等关键数据的仪表盘。

9.演进式设计

  

spring cloud简介


Spring Cloud 是一个基于Spring Boot实现的微服务结构开发工具。为微服务结构中涉及的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态等操作提供了一种简单的开发方式。

包含以下子项目:

Spring Cloud Config : 配置管理工具。

Spring Cloud Netflix : 核心组件,对多个Netfix OSS开源套件进行整合。

    Eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现。

    Hystrix:容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和为故障提供强大的容错能力。

    Ribbon:客户端负载均衡的服务调用组件。

    Feign:基于Ribbon和Hystrix的声明式服务调用组件

    Zuul:网关组件,提供智能路由,访问过滤器等功能。

    Archaius:外部化配置组件

Spring Cloud Bus : 事件、消息总线,用于传播集群中的状态变化或者事件。

Spring Cloud Cluster : 选举算法和通用模块的实现。

Spring Cloud Consul : 服务发现和配置管理工具

Spring Cloud Security: 安全工具包

Spring Cloud Zookeeper : 基于Zookeeper的服务发现和配置管理组件

。。。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值