微服务
微服务架构是一种将单一应用程序划分成一组小的服务的方法,每个服务运行在其独立的进程中,拥有独立的数据库(尽管有时为了数据一致性也会采用共享数据库)和独立的业务逻辑。适用于复杂且需要快速迭代的应用场景,如电商、社交、游戏、导航、搜索、聊天和物联网等。
Dubbo
概念:一个高性能、轻量级的分布式服务框架,主要关注于服务的远程调用和通信,提供了高性能的RPC调用、服务治理、负载均衡、服务自动注册与发现等功能。Dubbo通过高性能的RPC实现服务的输出和输入功能,使得应用可以像调用本地方法一样调用远程服务;注册中心记录服务提供者的信息,以及服务提供者和服务消费者之间的关系,帮助消费者发现可用的服务实例。
工作原理:
- 服务注册:服务提供者(服务端)在启动时,向注册中心注册自己提供的服务,包括服务地址、端口等信息。
- 服务发现:服务消费者(客户端)在启动时,向注册中心订阅自己所需的服务,注册中心返回服务提供者地址列表给消费者(客户端)。
- 服务调用:服务消费者(客户端)根据负载均衡算法,从服务提供者地址列表中选取一个进行调用。如果调用失败,则根据容错机制进行重试或选择其他服务提供者。
- 服务监控:服务提供者(服务端)和消费者(客户端)在内存中累计调用次数和调用时间,定时发送到监控中心进行统计和分析。
Nacos
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它主要提供服务发现、配置中心和服务治理等功能,帮助开发者快速实现服务的动态发现、配置管理以及服务之间的通信,其核心组件包括服务注册中心、配置中心以及管理平台。
配置中心
相比于把项目的配置代码写死在property文件里,配置中心是项目单独建立的一个服务,提供页面去配置项目的配置信息,将配置信息存储在数据库,将配置集中管理,修改配置时只需要从配置中心拿出对应的property配置文件,修改后就能生效。而不是经历编译->转换成jar包->部署,也不是修改property配置文件后重启机器(缺点:配置文件在每台机器里,当机器数较多,不方便)。配置中心通过集中管理、动态更新、环境隔离、权限控制、版本控制和可视化界面等特性,为微服务架构下的配置管理提供了强大的支持,提高了系统的灵活性和可维护性。
职责
新增了关于规则属性的配置:在业务人员配置规则的页面,增加了为规则设置优先级、规则是否循环、规则分组的可视化页面。