微服务基础
- 格式:pptx
- 大小:676.87 KB
- 文档页数:11
SpringCloudAlibaba微服务讲解(⼀)微服务介绍微服务介绍1.1 系统架构的演变随若互联⽹的发展,⽹站应⽤的规模也在不断的扩⼤,逬⽽导致系统架构也在不断的进⾏变化.从互联⽹早起到现在,系统架构⼤体经历了下⾯⼏个过程:单体应⽤架构⼀蟻直应⽤架构--浴布式架构⼀>SOA架构⼀〉微服务架构,当然还有悄然兴起的Service Mesh(服务⽹格化).接下来我们就来了解⼀下每种系统架构是什么样⼦的,以及各有什么优缺点.互联⽹早期,⼀版的⽹站应⽤流量较⼩,只需要⼀个应⽤,将所有功能代码都部署在⼀起就可以,这样可以减少开阿发、部署、和维护的成本。
⽐如说⼀个电商系统,⾥⾯会包含狠毒哦⽤户管理、商品管理、订单管理、物流管理等等很多模块,我们会把他们做成⼀个web项⽬,然后部署到⼀台tomcat服务器上。
优点:项⽬架构简单,⼩型项⽬的话,开发成本低项⽬保护署在⼀个节点上、维护⽅便缺点:全部功能集成在⼀个⼯程中,对于⼤兴项⽬来讲不易开发和维护项⽬模块之间紧密耦合,单店容错率低⽆法针对不同模块进⾏针对性优化和⽔平扩展随着访问最的逐渐増⼤,单⼀应⽤只能依靠增加节点来应对,但是这时候会发现并不是所有的模块都会有⽐较⼤的访问量.还是以上⾯的电商为例⼦,⽤户访问昆的增加可能影响的只是⽤户和订单模块,但是对消,息模块的影响就⽐较⼩.那么此时我们希望只多増加⼏个订单模块,⽽不増加消息模块.此时单体应⽤就做不到了,垂直应⽤就应运⽽⽣了.所调的垂直应⽤架构,就是将原来的f 应⽤拆成互不相⼲的⼏个应⽤,以提升效率.⽐如我们可以将上⾯电商的单体就拆分成:电商系统(⽤户管理商品管理订单管理)后台系统(⽤户管理订单管理客户管理)CMS系统(⼴告管理营销管理)这样拆分完毕之后,⼀旦⽤户访问量变⼤,只需要増加电商系统的节点就可以了,⽽⽆需増加后台和CMS的节点.当垂直应⽤越来越多,重复的业务代码就会越来越多.这时候,我们就思考可不可以将重复的代码抽取出来,做成统⼀的业务层作为独⽴的服务,然后由前端控制层调⽤不同的业务层服务呢?这就产⽣了新的分布式系统架构.它将把⼯程拆分成表现层和服务层两个部分,服务层中包含业务逻辑.表现层只需要处理和页⾯的交互,业务逻辑都是调⽤服务层的服务来实现.优点:抽取公共的功能为服务层。
电商微服务架构设置方案电商微服务架构设置方案可以分为三个层次:业务层、服务层和基础层。
1. 业务层:- 用户管理服务:负责用户注册、登录、身份验证等功能。
- 商品管理服务:负责商品的上架、下架、库存管理和价格调整等功能。
- 订单管理服务:负责订单的创建、支付、配送和退款等功能。
- 购物车服务:用户可以把商品加入购物车,方便批量结算。
- 评论管理服务:用户可以对购买的商品进行评价和查看其他用户的评价。
- 优惠券服务:用户可以领取和使用优惠券,提高购买的折扣。
- 物流管理服务:负责订单的配送和物流信息的查询。
2. 服务层:- 鉴权服务:负责对请求进行身份验证,确保只有经过身份验证的用户才能访问敏感数据和操作。
- 配置中心服务:用于管理微服务的配置信息,如数据库连接、缓存策略等。
- 注册中心服务:用于管理微服务的注册和发现,方便服务之间的调用和通信。
- 日志服务:负责收集、存储和查询微服务的日志信息,方便故障排查和性能分析。
- 监控服务:负责监控微服务的运行状态,如内存占用、CPU使用率、请求响应时间等指标。
3. 基础层:- 数据存储服务:负责保存业务数据和配置信息,可以选择关系型数据库、NoSQL数据库或文件系统等。
- 缓存服务:用于加速数据的读取和降低数据库的压力,可以选择Redis或Memcache等。
- 消息队列服务:用于实现微服务之间的异步通信,可以选择Kafka或RabbitMQ等。
- 文件存储服务:负责存储商品图片、用户头像等文件,可以使用云存储服务或分布式文件系统。
- 高可用存储:用于保证数据的高可用性和持久性,可以选择分布式文件系统或分布式数据库。
在实施该架构时,需要考虑以下几个方面:- 性能:通过合理设置缓存、负载均衡和水平扩展,提高系统的性能和并发处理能力。
- 可用性:通过使用分布式存储和负载均衡等技术,提高系统的稳定性和容错能力。
- 安全性:采用安全的身份验证和鉴权机制,保护用户数据和敏感信息的安全性。
微服务基础知识
微服务是一种架构风格,它将应用程序拆分成一组小型、独立的服务。
这些服务可以独立部署、扩展和维护,从而实现高效的开发和运维。
微服务的基础知识包括以下内容:
1. 服务可独立部署:微服务将应用程序拆分成一组小型服务,每个服务都可以独立部署。
这样可以快速部署、升级和回滚服务,减少了因版本冲突导致的故障。
2. 服务间使用轻量级通信:微服务之间使用轻量级通信,比如RESTful API、消息队列等。
这样可以减少服务之间的依赖关系,提高系统的灵活性和可扩展性。
3. 服务可独立扩展:微服务可以根据需要进行独立扩展,可以根据具体的业务需求对服务进行扩展。
这样可以提高系统的性能和可靠性。
4. 服务可独立维护:微服务可以独立维护,每个服务都有自己的代码库和团队。
这样可以提高开发效率和服务质量。
5. 服务可独立替换:微服务可以独立替换,如果一个服务出现问题,可以立即替换为另一个服务。
这样可以保证系统的可靠性和稳定性。
总之,微服务的基础知识包括服务的独立部署、轻量级通信、独立扩展、独立维护和独立替换。
这些特点使得微服务架构非常适合构建大型、复杂的分布式系统。
微服务体系结构
微服务体系结构是一种将单个应用程序拆分为一组小的、独立的服务的方法,每个服务都运行在独立的进程中,并使用轻量级通信协议进行通信。
这种体系结构有以下主要组成部分:
1. 表现层:负责和用户进行交互,包括WEB页面、APP页面、供第三方调用的接口等。
2. API网关层:它是系统的统一入口,外部通过统一的API网关接入微服务,同时处理一些非业务功能,如监控,负载均衡,流量控制,身份认证等。
3. 业务逻辑层:负责实现业务规则,是系统核心部分,这一层又划分成基础服务层和聚合服务层两个子层。
基础微服务层:负责实现本业务模块的业务规则,一般是通过操作业务数据集来实现单一的业务规则。
聚合微服务层:负责实现跨业务模块的复杂的业务规则,他需要两个或两个以上的基础服务共同来完成一个复杂的业务规则。
本层涉及到二个及以上的基础微服务的组合,所以这一层要处理跨数据集的事务。
此外,服务组件也是分层的,一般可以分为3层,从低到高依次是工具性服务组件、基础业务层服务组件、业务层服务组件。
前端界面的请求按照从高到底向下传递和处理请求。
以上信息仅供参考,如需了解更多信息,建议查阅微服务相关书籍或咨询技术人员。
培训学习资料-微服务入门培训学习资料微服务入门在当今的软件开发领域,微服务架构正逐渐成为主流。
如果你对微服务还不太了解,别担心,这篇文章将带你走进微服务的世界,为你提供一个入门的指南。
什么是微服务呢?简单来说,微服务就是将一个大型的应用程序拆分成多个小型的、独立的服务。
每个服务都可以独立部署、扩展和维护,并且它们之间通过轻量级的通信机制进行交互。
想象一下,你有一个大型的电商网站,它包含了用户管理、商品管理、订单管理、支付管理等多个功能模块。
在传统的单体架构中,这些功能模块都被打包在一个巨大的应用程序中。
但在微服务架构下,每个功能模块都可以被拆分成一个独立的服务,比如用户服务、商品服务、订单服务、支付服务等。
那么,为什么要采用微服务架构呢?首先,它提高了开发的效率。
因为每个服务都是相对独立的,开发团队可以专注于自己负责的服务,无需担心对其他部分造成影响。
其次,微服务架构使得应用程序更容易扩展。
当某个服务的负载增加时,我们可以单独为其增加资源,而不需要对整个应用程序进行扩容。
此外,微服务架构还提高了系统的可靠性和容错性。
如果某个服务出现故障,不会影响到其他服务的正常运行。
要实现微服务架构,有一些关键的技术和概念需要掌握。
首先是服务的拆分。
这可不是一件简单的事情,需要根据业务的逻辑和功能进行合理的划分。
比如,我们可以按照业务领域、数据的所有权、功能的独立性等原则来拆分服务。
然后是服务的通信。
在微服务架构中,服务之间需要进行通信来协同工作。
常见的通信方式有基于 HTTP 的 RESTful API、消息队列等。
RESTful API 是一种基于 HTTP 协议的轻量级通信方式,它具有简单、灵活、易于理解和实现的特点。
消息队列则可以用于异步通信,提高系统的性能和可靠性。
服务的注册与发现也是很重要的一环。
当一个服务需要调用其他服务时,它需要知道其他服务的地址和端口。
服务注册中心就负责存储和管理服务的信息,让服务能够方便地找到彼此。