柳州网站开发公司,做淘宝店招的网站,义乌企业网站设计,二级域名租用博主目前开发的web系统架构是基于springCloud的一套微服务架构。
使用的技术栈#xff1a;springbootmysqlclickhousepostgresqlredisrocketMqosseurekabase-gatewayapollodockernginxvue的一套web架构。 一、springboot3.0
特性#xff1a;Spring Boot 3.0提供了许多新特性…博主目前开发的web系统架构是基于springCloud的一套微服务架构。
使用的技术栈springbootmysqlclickhousepostgresqlredisrocketMqosseurekabase-gatewayapollodockernginxvue的一套web架构。 一、springboot3.0
特性Spring Boot 3.0提供了许多新特性和改进以进一步简化Spring应用程序的开发和部署。其中一些重要的特性包括更好的性能和扩展性、更强大的自动配置、改进的安全性、与新技术的集成等。性能和扩展性Spring Boot 3.0在性能和扩展性方面做了许多优化。通过使用新技术和优化代码结构Spring Boot 3.0可以更快地启动应用程序提供更好的性能和响应速度。此外Spring Boot 3.0还提供了更好的水平扩展和垂直扩展能力以满足不同规模应用程序的需求。自动配置Spring Boot 3.0进一步增强了自动配置功能。它提供了更多的自动配置类和注解可以帮助开发人员快速配置应用程序。同时Spring Boot 3.0还提供了条件注解和自定义配置类以支持更灵活的配置管理。安全性Spring Boot 3.0在安全性方面也做了许多改进。它提供了更强大的身份验证和授权功能支持多种身份验证协议和授权机制。此外Spring Boot 3.0还提供了更安全的默认配置以保护应用程序免受常见安全漏洞的攻击。新技术集成Spring Boot 3.0与许多新技术进行了集成以提供更好的开发体验和功能支持。其中一些重要的新技术包括Java 17、Spring Framework 6.0、GraalVM原生镜像等。这些新技术的集成可以帮助开发人员更快地构建现代化、高性能的应用程序。
二、docker
Docker是一种容器化技术它使用Linux内核的cgroup和namespace等特性将应用程序及其依赖项打包到一个独立的、可移植的容器中并确保这些依赖项在任何Docker环境中都能正常运行。以下是Docker的使用详解
安装Docker首先需要在支持Docker的操作系统上安装Docker。Docker可以在多个操作系统上运行包括Linux、Windows和macOS等。创建Docker镜像Docker镜像是用于创建容器的模板类似于虚拟机的镜像。可以使用Dockerfile来定义镜像的构建过程也可以从Docker Hub等仓库中下载已有的镜像。运行Docker容器使用docker run命令可以创建并运行一个容器。容器是从镜像创建的实例类似于虚拟机。可以通过-d、-it等参数来指定容器的运行方式。管理Docker容器可以使用docker ps、docker stop、docker start等命令来管理正在运行的容器。也可以使用docker exec命令进入容器内部执行命令。推送Docker镜像如果想要将本地构建的镜像分享给其他人或团队可以使用docker push命令将镜像推送到Docker Hub或其他仓库中。构建Docker镜像可以使用Dockerfile来定义镜像的构建过程包括安装软件、设置环境变量等。构建完成后可以使用docker run命令来运行该镜像。删除Docker容器和镜像使用docker rm命令可以删除不再需要的容器使用docker rmi命令可以删除不再需要的镜像。 三、apollo
Apollo是一种配置中心主要用于集中管理和维护微服务中的配置信息。以下是Apollo配置中心的详细解释
简介Apollo配置中心是一个简单、可靠、功能丰富的平台用于构建云原生应用。它能够集中管理应用的所有配置信息包括敏感信息并提供灵活的权限控制和强大的数据治理功能。架构Apollo的架构包括三个主要组件Portal管理门户、Config Service配置服务和 Admin Service管理服务。Portal是用户界面用于对配置进行修改Config Service负责定期从数据库中拉取配置信息并在发生变化时推送给客户端Admin Service则负责接收Portal发送过来的配置信息对配置信息进行修改。特点Apollo具有以下特点支持多种语言和框架、开放式集成自定义监控和报警功能、动态刷新、快速同步、丰富的数据展示等。同时Apollo还提供了一个强大的界面使得配置的管理和修改变得非常方便。集成Apollo可以与Spring Boot等微服务框架集成使得配置的修改和更新能够实时地反映到微服务中。使用要使用Apollo配置中心首先需要在Apollo Portal中创建一个新的应用并为其指定唯一的App ID。然后在代码中通过Apollo客户端提供的API来读取和更新配置信息。同时需要确保Apollo Config Service和Admin Service在运行时能够访问到Apollo Portal。 四、eureka
Eureka是Netflix开发的服务发现框架集成在其子项目spring-cloud-netflix中主要用于定位运行在AWS域中的中间层服务以达到负载均衡和中间层服务故障转移的目的。Eureka是一个服务治理组件主要包括服务注册和服务发现用于搭建服务注册中心。
Eureka包含两个组件Eureka Server和Eureka Client。Eureka Server提供服务注册服务各个微服务节点通过配置启动后会在EurekaServer中进行注册这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息。EurekaClient通过注册中心进行访问是一个Java客户端用于简化Eureka Server的交互客户端同时也具备一个内置的、使用轮询round-robin负载算法的负载均衡器。在应用启动后将会向Eureka Server发送心跳默认周期为30秒。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳EurekaServer将会从服务注册表中把这个服务节点移除默认90秒。
Eureka属于CAP中APAvailability和Partition tolerance架构。当网络分区出现后为了保证可用性系统B可以返回旧值保证系统的可用性。结论是违背了一致性C的要求只满足可用性和分区容错即AP。 五、gateway
Spring Gateway是Spring Cloud中的一部分用于构建微服务架构的API网关。以下是关于Spring Gateway的详细解释
网关的概念网关是外部网络进入内部网络的入口对内部网络服务起到保护作用。在微服务架构中网关是所有外部请求进入微服务群的入口。网关的作用
反向代理为了保护内部网络服务的安全通常不会直接暴露内部网络服务的IP地址而是通过暴露网关IP地址通过网关IP代理内部网络服务的IP地址。流量控制当系统处于高峰期时为了防止系统因访问量过大而崩溃网关可以限制访问数量。熔断当系统中的某个服务出现故障时网关可以将该服务降级。有请求访问时直接访问事先准备好的降级方法等到服务修复后用户即可继续访问。负载均衡当路由的目标服务有多个时网关可以实现负载均衡将请求分发到不同的服务上。
网关的架构网关的架构通常包括路由、过滤器等核心组件。路由是构建网关的基本模块由ID、目标URL、一系列断言和过滤器组成。如果断言为真则可以匹配该路由。过滤器可以在请求被路由前或之后对请求进行修改。Spring Gateway的特点
易于集成Spring Gateway可以与Spring Boot集成为一体简化开发和部署过程。动态路由通过简单的配置可以实现动态路由根据不同的条件将请求路由到不同的服务。过滤器链可以通过配置过滤器来实现请求和响应的处理例如限流、权限校验等。
使用Spring Gateway的好处
统一入口通过网关统一管理所有外部请求的入口便于管理和维护。安全性通过网关可以对所有进入微服务群的请求进行安全校验例如权限校验、身份认证等。流量控制和熔断通过网关可以实现对流量的控制和熔断功能防止系统过载或某个服务故障导致整个系统崩溃。负载均衡通过网关可以实现负载均衡将请求分发到不同的服务上提高系统的可扩展性和可靠性。
Spring Gateway的快速入门要使用Spring Gateway需要创建一个Maven项目然后添加Spring Boot和Spring Cloud的依赖。配置路由信息并编写过滤器来实现所需的请求和响应处理逻辑。
总之Spring Gateway是一个功能强大的API网关组件适用于构建微服务架构的应用程序。通过使用Spring Gateway可以简化开发过程、提高系统的可扩展性和可靠性、并增强系统的安全性。