当前位置: 首页 > news >正文

北京天津网站建设/电子商务网站建设教程

北京天津网站建设,电子商务网站建设教程,企业服务内容怎么写,免费网站qq抓取一、定义 微服务,又叫微服务架构,也就是分布式架构,是软件架构的一种方式。它将一个大的单体架构应用拆分成一系列按业务领域划分模块的、小的自治服务。 如开发部有很多任务,如果把任务给了一个组的话,效率肯定会降低…

一、定义

        微服务,又叫微服务架构,也就是分布式架构,是软件架构的一种方式。它将一个大的单体架构应用拆分成一系列按业务领域划分模块的小的自治服务

   如开发部有很多任务,如果把任务给了一个组的话,效率肯定会降低。于是把不同任务交给不同的小组如A组,B组,前端,ui,每个组是独立工作的,有问题也是可以自理的,小组之间也是互相配合的,他们的总体目标是项目正常运行。在这种情况下:

        每个就相当于一个“微服务”。

        Spring Cloud 就像一个“开发部经理”,它要帮助开发部来管理小之间的沟通、协作,确保每个小都能高效完成任务。

二、Spring Cloud/Spring Cloud Alibaba微服的基本组成

  1. 服务注册与发现EurekaConsul

      功能:让微服务能够动态找到彼此告诉每个小,“在哪里?”“能做什么?”

      具体作用:当多个微服务部署在不同的服务器上时,如何知道某个服务的地址?Spring Cloud 提供了服务注册中心(如 Eureka、Consul),每个服务启动后会向注册中心注册自己的信息(IP 地址、端口号等)。其他服务可以通过注册中心查询到目标服务的地址,从而实现通信。

     应用场景:动态环境中,服务实例可能频繁上下线

     阿里云:提供了 Nacos,它是一个更符合国内开发者习惯的服务注册与配置中心工具。Nacos 不仅支持服务注册与发现,还支持动态配置管理,适合复杂的分布式系统。

  1. 负载均衡Ribbon

功能:当某个服务有多个实例时,合理分配请求流量。

具体作用:如果一个服务中 有 3 个实例运行,Spring Cloud 的负载均衡器(如 Ribbon 或 LoadBalancer)会自动选择一个实例来处理请求。避免某些实例过载,提升系统的整体性能。

应用场景:高并发场景下,需要分担流量。服务实例数量动态变化时,确保请求分配均匀。

阿里云:提供了 SLB(Server LoadBalancer) 和 Spring Cloud

LoadBalancer 的集成支持。

  • ①SLB:阿里云提供的服务器负载均衡服务,支持四层和七层流量分发,适用于大规模分布式系统。
  • ②Spring Cloud LoadBalancer:作为 Ribbon 的替代方案,支持动态调整权重和服务实例的选择策略。
  1. 断路器Hystrix

功能:防止级联故障,提升系统的容错能力。

具体作用:如果某个微服务出现故障或响应超时,断路器会阻止请求继续传递,并返回一个默认值或错误信息。防止某个服务的问题扩散到整个系统。

应用场景:系统中存在依赖关系的服务,某个服务故障可能导致其他服务不可用。需要保护系统稳定性。

阿里云:提供了 Sentinel,它是阿里巴巴开源的高可用防护工具。支持:

流量控制:支持基于 QPS、线程数等多种维度的限流策略。

熔断降级:当服务出现异常或响应超时时,自动熔断并返回降级逻辑。

实时监控:提供可视化的监控面板,帮助开发者实时了解系统的运行状态。

  1. API网关 Spring Cloud Gateway

功能:作为系统的统一入口,负责路由、过滤、安全校验等功能。

具体作用:客户端只需要访问网关(如 Zuul 或 Spring Cloud Gateway),网关会根据规则将请求转发到对应的服务。提供统一的安全校验、限流、日志记录等功能。不过Spring Cloud Gateway替代 Zuul,功能更强大,性能更高。

应用场景:对外提供 API 接口的系统。需要集中管理请求流量和安全性。阿里云:提供了 Alibaba Cloud API Gateway 和 Spring Cloud Alibaba Gateway 的支持。阿里云的企业级 API 网关服务,支持:

路由规则定义:根据请求路径、参数等条件将流量转发到不同的后端服务。

安全校验:支持 OAuth2、JWT 等认证机制,确保只有合法用户才能访问。

流量控制:支持限流、黑白名单等功能,保护后端服务免受恶意攻击。

  • Spring Cloud Alibaba Gateway:基于 Spring Cloud Gateway 的增强版本,集成了更多阿里云生态的功能。
  1. 配置管理Spring Cloud Config

功能:集中化管理所有微服务的配置文件。

具体作用:所有微服务的配置文件(如数据库连接信息、日志级别等)可以存储在一个地方(如 Git 或 SVN)。Spring Cloud Config 会将这些配置推送到各个服务,支持动态刷新。

应用场景:配置需要频繁调整的系统。多个服务共享相同配置的场景。

阿里云:提供了 Nacos 和 ACM(Application Configuration Management)。

Nacos:支持动态配置管理,允许开发者通过 Web 界面或 API 修改配置,并实时推送到所有服务实例。

ACM:阿里云提供的配置管理服务,支持

配置版本管理:记录配置的历史变更,便于回滚和审计。

多环境隔离:支持开发、测试、生产等环境的独立配置。

灰度发布:支持逐步推送配置变更,降低风险。

  • Spring Cloud优缺点
  1. 提高系统的可扩展性:每个微服务可以独立部署和升级,不会互相之间影响,比如项目又新增了一项业务,这样就不用修改现有的项目代码了,直接新增一个服务
  2. 提高系统的稳定性:如果某个微服务宕机了,也不会整个系统崩溃
  3. 统一的管理和配置:集中化的配置管理,让你可以随时调整所有微服务的参数,而不需要逐一手动修改。
  4. 简化开发和运维:提供了一整套开箱即用的工具,比如服务注册与发现、分布式追踪等,开发者不用自己从头实现这些复杂的功能。

缺点:最明显的就是服务调用关系错综复杂,技术成本相对高,随着业务的扩展服务的增加,运维压力也会随之增大

  • 如何才算真正的Spring Cloud

首先要明确的是并不是把单体项目拆分成小的项目并打包独立部署后就是Spring Cloud微服务。Spring Cloud微服务要互相之间能通信,能协作起来,但又互不影响才算是Spring Cloud微服务架构。

比如:电商平台,包含用户管理、订单管理、支付管理,产品管理等功能

把这些功能拆分为独立的小项目,也能启动并运行,但是这些服务之间没有通信和协作,那么它们只是孤立的“孤岛”,无法完成一个完整的业务流程,用户购买产品时需要下单,下单就需要用户信息,就需要订单管理。因此仅仅拆分是不够的,还需要让这些服务互相通信、联动起来,才能组成一个完整的应用。

     总结:通信,自治,统一标准的对外接口,有自己的数据源

  • 构建一个简单的微服务

因为我的 Spring Boot 应用是通过阿里云创建的,那么我们可以基于阿里云的生态工具来构建一个微服务架构。

1.确定需求

假设我们要开发一个新系统,包含以下两个功能:

A.用户管理(user-service):负责用户注册、登录等操作。

B.订单管理(order-service):负责创建订单、查询订单等功能。

这两个功能将被拆分成两个独立的微服务,并通过 Spring Cloud Alibaba 实现通信和协作。

2. 技术选型

框架:Spring Boot + Spring Cloud Alibaba

服务注册与发现:Nacos

负载均衡:SLB(LoadBalancer

配置管理:Nacos

API 网关:Spring Cloud Gateway

  1. 构建步骤

创建 Nacos 服务注册与配置中心

下载并解压 Nacos。Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网

启动 Nacos:解压后进入 nacos/bin 目录打开cmd  Windows: startup.cmd -m standalone 

启动成功后,访问 http://localhost:8848/nacos,默认用户名和密码为 nacos/nacos。

创建用户服务(user-service)

创建订单服务(order-service)

创建API网关(Spring Cloud Gateway)

演练项目源码(如果这里没有,可以私信我要,写的比较简单)

你们的点赞是我动力的源泉。
这个源码资源其实绑定上了,不知道为啥不能免费下载,如果有需要私信我吧。

                                              

http://www.whsansanxincailiao.cn/news/30725796.html

相关文章:

  • 网站副标题/网店代运营商
  • 国外服装定制网站/网站建设seo
  • word可以做网站链接吗/站长工具查询网站
  • 电商具体是做什么的上班/seo排名优化点击软件有哪些
  • 用旧电脑做网站/qq代刷网站推广免费
  • 怎样建立免费的个人网站/seo公司优化
  • 外贸做哪个网站平台/seo企业培训班
  • 如何在社交网站上做视频推广方案/外贸网站免费建站
  • 静态页面网站站标代码写进到静态页面了 怎么不显示呢?/蚌埠网络推广
  • 如何关闭网站/漯河网站seo
  • 社交网站开发教程/关键词调价工具哪个好
  • 天津网上商城网站建设/上海疫情最新消息
  • 中国交通建设集团网站/百度推广开户2400
  • b2b网站推广怎么做/seo门户
  • 时时彩的网站怎么做/怎么让百度收录我的网站
  • 沪佳装饰门店地址/品牌seo是什么意思
  • 微网站和web网站首页/排名优化软件
  • 网站 兼容性/百度网页游戏
  • 高端网站建设jm3q/怎么做公司网站推广
  • 网站怎么做友情链接/纯注册app拉新平台
  • 怎么做外国网站卖东西/seo推广哪家服务好
  • 企业网站建设哪家正规/谷歌浏览器网页版在线
  • 高端网站设计找哪个公司/关键词歌词任然
  • 西部数码网站助手4.0/谷歌广告联盟怎么做
  • 佛山企业网站排名/网站优化推广排名
  • 建设通银行官方网站/黄页网络的推广网站有哪些类型
  • asp全静态企业网站/排名优化是怎么做的
  • p2p网站审批/seo发包技术教程
  • p2p网站建设要点/怎么弄一个自己的网址
  • 网上做批发的网站有哪些/中小企业网站优化