本文在说明spring cloud gateway如何起作用的
后面附有源码
本文的微服务架构图,展示了网关的作用spring gateway和euraka如何配合的,在实际生产过程网关的前面也许还有静态HTML,手机app,java软件程序等,这里用用户请求浏览器来作为模拟
本系统由一个父亲工程和7个子工程组成
7001,7002,7003为eureka注册中心,相互注册,形成高可用集群
9527为网关,调用注册在注册中心的服务提供
8001,8002为服务提供者
mirco-service-cloud-api为核心组件,大家都可能会调用的公共类
1.本地/etc/hosts文件要增加如下配置
#Spring Cloud eureka 集群
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com
2.数据库sql文件
--
-- 数据库: `bianchengbang_jdbc`
--
-- --------------------------------------------------------
--
-- 表的结构 `dept`
--
CREATE TABLE `dept` (
`dept_no` int(11) NOT NULL,
`dept_name` varchar(255) DEFAULT NULL,
`db_source` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- 转存表中的数据 `dept`
--
INSERT INTO `dept` (`dept_no`, `dept_name`, `db_source`) VALUES
(1, '开发部', 'bianchengbang_jdbc'),
(2, '人事部', 'bianchengbang_jdbc'),
(3, '财务部', 'bianchengbang_jdbc'),
(4, '市场部', 'bianchengbang_jdbc'),
(5, '运维部', 'bianchengbang_jdbc');
--
-- 转储表的索引
--
--
-- 表的索引 `dept`
--
ALTER TABLE `dept`
ADD PRIMARY KEY (`dept_no`);
--
-- 在导出的表使用AUTO_INCREMENT
--
--
-- 使用表AUTO_INCREMENT `dept`
--
ALTER TABLE `dept`
MODIFY `dept_no` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2.网关调用
https://github.com/yuexiaosheng/javaer/tree/main/spring-cloud-demo2
系统可以扩展为集群网关模式,如下图所示
http://c.biancheng.net/springcloud/gateway.html