微服务-服务发现

本文探讨了从单体架构到SOA再到微服务的演变过程,详细介绍了微服务架构的特点及其关键技术栈,包括Spring Cloud和Dubbo等。同时对比了不同服务发现技术如Eureka、Nacos和Consul等的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.服务的演变

单体服务

一个项目中包含了所有项目。通常来说,如果一个war/jar包包含一个应用的所有功能,则称之为单体架构

SOA

核心目标是把一些通用的,会被多个上层服务调用的共享业务提取成独立基础服务,这些被提取出来的共享服务相对来说比较独立,并且可以重用。所以在SOA中,服务是最核心的抽象手段,业务被划分为一些粗粒度的业务服务和业务流程。

SOA主要解决的问题是:

1>信息孤岛

2>共享业务的重用

微服务

那么被SOA拆分出来的服务是否也需要以业务功能为维度来进行拆分和独立部署,以降低业务的耦合及提升容错性?微服务就是这样一种解决方案。我们可以把SOA看成微服务的超集合,也就是多个微服务组成一个SOA服务

二.微服务

Spring Cloud 技术栈

Spring Cloud Netflix Spring Cloud Alibaba

Eureka 服务注册与发现 Nacos 分布式配置中心

Zuul 服务网关 Nacos 服务注册与发现

Ribbon 负载均衡 Sentinel 流量控制和服务降级

Feign 远程服务的客户端代理 RocketMq 消息驱动

Hystrix 断路器 Seate 分布式事务

​ Dubbo RPC通信

服务发现的概念

在传统的系统部署中,服务运行在一个笃定地已经IP和端口上,如果服务需要调用另一个服务,那么可以通过地址直接调用。但是在虚拟化或者容器化的环境中,服务的****实例启动和销毁是很频繁的,服务的地址也是动态变化的。这种情况下,就需要服务发现机制了。

服务发现技术的对比

NacosEurekaConsulCoreDNSZookeeper
一致性协议CP+APAPCP-CP
健康检查TCP/HTTP/MYSQL/Client BeatClient BeatKeep Alive
负载均衡策略权重/metadata/SelectorRibbonFabioRoundRobin
雪崩保护
自动注销实例支持支持支持不支持支持
访问协议HTTP/DNSHTTPHTTP/DNSDNSTCP
监听支持支持支持支持不支持支持
多数据中心支持支持支持不支持不支持
跨注册中心同步支持不支持支持不支持不支持
SpringCloud集成支持支持支持不支持支持
Dubbo集成支持不支持支持不支持支持
K8S集成支持不支持支持支持不支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值