文章目录
一、微服务是什么?
- 前言
- 一、微服务是什么?
- 二、业务场景
- 1、架构设计
- 2、实践中存在的问题
- 希望有大神可以指导下
一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。
微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。
二、业务场景原有支撑平台通过Rest接口对业务系统提供服务,服务建设前后不一没有整体规划,服务入口不统一,授权机制也不太完善,部分服务与管理系统提供,接口在稳定性、性能、管理都存在着问题,需要对支撑平台进行升级改造。
1、架构设计主要开发语言还是Python; 部署环境公有云+私有云;
- 最外层是阿里云负载均衡,负载API网关;
- API网关Kong做服务注册、鉴权、日志、限流、转发、熔断、降级、健康检查;
- 鉴权使用oauth2 client credentials模式;
- zookeeper做微服务注册和发现;
- FastAPI做Web服务从zk获取活跃的微服务,web服务也做了多节点部署;
- gRPC+Python开发微服务;
- 业务系统通过Rest API访问服务,支撑平台内部通过 gRPC 直接调用其它微服务;
- docker容器部署;
- zookeeper 在架构中的必要性不明显,kong是可以直接代理proto协议,由kong做微服务的注册、发现、健康检查等功能是不更好?
- 公用程度高的服务使用grpc服务+web服务对外提供,公用程度不高的就直接使用 web服务,可以省去grpc服务的开发?
- 业务系统前端使用支撑平台可以直接调用Rest接口呢,还是必须限制后台服务调用,有没有安全问题?