cloud framework
项目地址 https://gitee.com/d-hgs/inco-cloud-framework
inco cloud framework 用于演示微服务架构流程。
参考文档
2、springCloud(基础五大组件
一、 EureKa 注册中心
二、 Zuul 网关
三、 Ribbon 负载均衡
四、 Feign 服务调用
五、 Hystix 熔断器
) 。
9、CAP 。
分布式架构(微服务)应该实现的主要功能
- 服务划分:
横向拆分:按照不同的业务进行拆分,例如订单、营销、风控、积分资源等。形成独立的业务应用系统微服务集群。
纵向拆分:把一个业务功能里的不同模块或者组件进行拆分。例如把公共组件拆分成独立的子服务,下沉到底层,形成相对独立的子服务层
- 统一的认证、授权中心(统一登陆、统一登出 oauth2):
- 业务应用系统之间可以互相发现url地址:
- 业务应用系统有统一的读取配置文件的服务:
- 业务应用系统可以互相调用方法:
- 业务应用系统之间互相调用方法,应该可以统一事务管理:
- 应该有统一的对外访问接口(网关):
- 应该有负载均衡:
- 分布式管理层面应该有流量控制、熔断器:
- 消息中间件:
- 考虑前端模块化、分布式架构:
服务介绍
auth:统一认证、授权中心。
server1:业务应用系统1,用于演示互相调用、服务注册与发现
server2:业务应用系统2,用于演示互相调用、服务注册与发现
nacos:使用nacos源码运行注册与发现服务中心,在nacos\distribution\target\nacos-server-1.2.0-SNAPSHOT\nacos\bin 目录下运行单机模式 startup.cmd -m standalone。
更多组件请参考 nacos官网或百度。
如何构建
- 1、启动nacos服务。
- 2、启动auth服务。
- 3、启动server1服务。
- 4、启动server2服务。
- 可以使用postman模拟
使用password方式获取token
127.0.0.1:8888/oauth/token?client_id=acme&client_secret=acmesecret&grant_type=password&username=admin&password=123456
使用授权码方式获取token
http://127.0.0.1:9999/oauth/token?client_id=acme&client_secret=acmesecret&grant_type=authorization_code&code=ff9j04&redirect_uri=http://www.baidu.com
http://127.0.0.1:9999/oauth/authorize?client_id=acme&response_type=code&scope=all&redirect_uri=http://www.baidu.com
使用token访问用户信息接口
127.0.0.1:8888/me(用户信息接口)
127.0.0.1:8888/server-port(资源文件接口)
127.0.0.1:8888/revokeToken(登出接口)
版本引用说明
- org.springframework.boot 2.1.10.RELEASE
- org.springframework.cloud Greenwich.RELEASE
- com.alibaba.cloud 2.1.0.RELEASE
社区相关开源
Nepxion Discovery:一款集成Spring Cloud Alibaba、Nacos、Sentinel等阿里巴巴中间件,实现网关和服务的灰度发布、路由、权重、限流、熔断、降级、隔离、监控、追踪等功能的微服务开源解决。使用指南 请参考 Nepxion Discovery Guide。