微服务_微服务与python

服务化

服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦
RESTful API

RPC(Remote Procedure Call Protocol)远程过程调用协议
     典型的RPC实现包括:Dubbo、gRPC、Thrift、Netty等。 Netty是由JBOSS提供的一个java开源框架
	    gRPC(谷歌的) 、dubbo(阿里的)、Spring Cloud(Netflix(奈飞)) Thrift(FB的) 
	RPC框架要向调用方屏蔽各种复杂性,要向服务提供方也屏蔽各类复杂性 
	  建立在Socket之上的一种多进程间的通信机制

本地过程调用,
     在Windows编程中,称为LPC;
	 在linux编程中,更习惯称之为IPC,即进程间通信	 
	 
	 

企业间需要相互发现和调用对方提供的Web服务,
    UDDI作为一个公共的、开放的服务注册中心,可以让企业将自己的Web服务信息发布到UDDI注册中心,从而使其他企业能够发现并调用这些服务	
	
	
Feign 是一个声明式、模板化的 HTTP 客户端,它简化了编写 Web 服务客户端的过程<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>	

服务框架

在微服务架构中,存在三个关键角色:服务提供者、服务消费者和服务注册中心 。

 分布式配置中心设计与实现:Apollo	
 Nacos(Naming and Configuration Service)是由阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台	 
 
1.服务注册与发现(Service Registry & Discovery)  服务注册与发现 → API 网关:网关通过注册中心发现服务地址,实现动态路由
 服务注册和服务发现 
    . 服务注册中心的设计与实现: 存储大量的服务实例信息  网络通信  服务健康检查
	
     Spring Cloud 提供了多种服务注册与发现的实现方式,其中最常用的是 Eureka 和 Consul
	    Eureka 是 Netflix 开源的服务发现组件,Spring Cloud 对其进行了集成,使其成为 Spring Cloud 生态系统中的一部分
		Consul 是 HashiCorp 开源的服务发现与配置工具,Spring Cloud 也提供了对 Consul 的支持。 。
	etcd提供‌服务注册‌功能,服务提供者将自身地址(主机、端口)注册到etcd集群,并通过心跳保持状态更新;‌
	    服务发现‌则由服务消费者从etcd查询可用服务实例列表,实现动态路由选择
	Zookeeper
	Nacos
	
	服务注册有两种模式
	    自注册模式:也称为客户端/直连模式,服务消费者直接与注册中心交互,获取服务提供者的地址信息
		代理模式:也称为服务端模式,服务消费者通过一个代理(如API网关或服务发现代理)来获取服务提供者的地址信息
    服务发现
        客户端发现模式
		服务端发现模式
2. API 网关(API Gateway)	
	API 网关是微服务架构的入口,负责统一处理外部请求,并将请求路由到相应的后端服务。

3. 配置中心(Configuration Center)	
4. 服务熔断与降级(Circuit Breaker & Fallback)
5. 分布式追踪与日志(Distributed Tracing & Logging	
		
服务提供者(Product Service)
服务消费者(Order Service)	
   Feign 客户端:

python

 四个模块:网关、用户中心、鉴权中心、文档中心。接下来就是服务的注册和调用。	

参考

 通过 Python+Nacos实现微服务,细解微服务架构 https://cloud.tencent.com/developer/article/2426423	
posted @ 2025-07-31 18:01  辰令  阅读(28)  评论(0)    收藏  举报