java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

spring cloud gateway演示及源码

本文在说明spring cloud gateway如何起作用的

后面附有源码

一、系统架构图

本文的微服务架构图,展示了网关的作用spring gateway和euraka如何配合的,在实际生产过程网关的前面也许还有静态HTML,手机app,java软件程序等,这里用用户请求浏览器来作为模拟

image-20220926140027035

二、系统的代码结构图

本系统由一个父亲工程和7个子工程组成

image-20220926140245546

  1. 7001,7002,7003为eureka注册中心,相互注册,形成高可用集群

  2. 9527为网关,调用注册在注册中心的服务提供

  3. 8001,8002为服务提供者

  4. mirco-service-cloud-api为核心组件,大家都可能会调用的公共类

三、启动顺序

  1. 启动euraka 7001,7002,7003
  2. 启动服务提供者8001,8002
  3. 启动网关9527

其他说明

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 */;

四、演示

image-20220926140918809

2.网关调用

image-20220926141056382

五、源码

https://github.com/yuexiaosheng/javaer/tree/main/spring-cloud-demo2

六、系统扩展

系统可以扩展为集群网关模式,如下图所示

image-20220926141554899

七、参考资料

http://c.biancheng.net/springcloud/gateway.html


This entry was posted in JAVA and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/spring-cloud-gateway-demo-sourcecode/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply