温馨提示:这篇文章已超过436天没有更新,请注意相关的内容是否还可用!
摘要:挑战30天首通《谷粒商城》的第一天,介绍分布式基础概念。本文简要概述了分布式系统的基本概念,包括其定义、特点以及在现代化应用中的重要性。作为开启《谷粒商城》学习之旅的第一步,理解分布式基础概念对于后续的学习和实践至关重要。
课程目录
课程介绍(本章可略过了解)
1、微服务
2、集群与分布式及节点
3、远程调用
4、负载均衡
5、服务注册与发现及注册中心
6、配置中心
7、服务熔断与服务降级
8、API网关
微服务
微服务架构风格介绍:将单个应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制进行通信(通常是HTTP API),这些服务围绕业务能力构建,并通过完全自动化的部署机制独立部署,这些服务可以使用不同的编程语言、数据存储技术,并保持最低限度的集中式管理,简而言之,拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行。
集群与分布式及节点
定义:分布式是指将不同的业务分布在不同地方,集群是将几台服务器集中在一起实现同一业务,节点是指集群中的一个服务器,集群是一个物理形态,分布式是一种工作方式,只要是一堆机器,就可以叫集群,无论它们是否一起协作干活,分布式系统中的每一个节点都可以做集群,而集群并不一定是分布式。
示例:京东是一个分布式系统,众多业务运行在不同的机器上,所有业务构成一个大型的业务集群,每一个小的业务,比如用户系统,访问压力大的时候一台服务器是不够的,因此用户系统应部署到多个服务器,即每个业务系统也可以做集群化。
远程调用
在分布式系统中,各个服务可能处于不同主机上,但服务之间不可避免地需要相互调用,我们称之为远程调用,SpringCloud中使用HTTP+JSON的方式完成远程调用。
负载均衡
分布式系统中,A服务需要调用B服务,B服务在多台机器中都存在,A调用任意一个服务器均可完成功能,为了使每一个服务器都不要太忙或太闲,可以实施负载均衡的调用每一个服务器,提升网站的健壮性,常见的负载均衡算法包括轮询、最小连接和散列等。
服务注册与发现及注册中心
A服务调用B服务时,A服务并不知道B服务当前在哪几台服务器上有,哪些是正常的,哪些服务已经下线,为解决此问题可以引入注册中心;如果某些服务下线,其他人可以实时感知到其他服务的状态,从而避免调用不可用的服务。
配置中心
配置中心用于集中管理微服务的配置信息,每个服务都有大量的配置信息,且每个服务都可能部署在多台机器上,经常需要变更配置,因此可以让每个服务在配置中心获取自己的配置。
服务熔断与服务降级
在微服务架构中,微服务之间通过网络通信存在相互依赖,当其中一个服务不可用时有可能会造成雪崩效应,为防止这样的情况发生,必须有容错机制来保护服务,服务熔断是设置服务的超时时间,当被调用的服务经常失败到达某个值时,开启断路保护机制,后来的请求不再去调用这个服务,服务降级是在系统资源紧张或高峰期时让非核心业务降级运行或简单处理(如抛异常、返回NULL等)。
API网关
在微服务架构中,API Gateway作为整体架构的重要组件抽象了微服务中的公共功能并提供了丰富的功能帮助我们解决API管理难题如客户端负载均衡、服务自动熔断等,程序员的烦恼包括为激活编程软件到处找激活码、学习资料贵且不成体系等躺平现象关注公众号“金榜探云手”可以获得JetBrains最新激活码等福利以及IT技术视频共享等,另外提供了动画教程和图文教程来帮助大家更好地学习和使用相关工具提高编码效率,课程目录中的每一章节都包含了详细的介绍和解释帮助您更好地理解和掌握微服务架构的相关知识。
还没有评论,来说两句吧...