SpringCloud & vue.js 开发的阅读类微服务实战项目,适合入门微服务的同学

2020-05-26 14:49:36 +08:00
 zealon

基于 SpringCloud 生态开发的微服务实战项目,涉及 SpringCloud-Config 、Eureka 、OpenFeign 、Hystrix 、Jwt 、SpringCloud-Gateway 等技术栈的应用。

项目的侧重点主要是基于实际业务场景使用微服务架构落地的思路,会采用图文的方式介绍每个服务或接口的原理以及为什么使用这种方式实现,希望会对想入门微服务的同学有所帮助。

演示

演示地址: http://reading-cloud.zealon.cn/#/index

Github: https://github.com/Zealon159/light-reading-cloud

部分截图:

架构图

客户端访问接口由统一流量入口 SpringCloud-Gateway 接收请求、响应结果,网关与微服务基于异步 IO Netty 通信,微服务获取配置文件启动后通过 Eureka 完成服务注册与发现,微服务之间的相互调用基于 http 协议的 FeignClient 客户端。

核心架构图如下:

系统模块

公共模块,配置中心,注册中心,服务网关,图书中心,账户中心,精品页中心,Feign 客户端

2736 次点击
所在节点    程序员
30 条回复
Nangle
2020-05-26 15:07:58 +08:00
搜索功能不能用啊🙄
leahoop
2020-05-26 15:08:55 +08:00
厉害了
zoharSoul
2020-05-26 15:10:46 +08:00
前端挺好看的...
zhengdai1990
2020-05-26 15:14:45 +08:00
你把数据库也公开出来?不好吧
zoharSoul
2020-05-26 15:16:33 +08:00
关于那个上一章和下一章,

根据我做小说 app 的经验来看, 服务端是无需关心上一章和下一章的, 这个是纯粹的客户端逻辑, 所以没必要做那个什么双向链表.
zealon
2020-05-26 16:07:18 +08:00
@Nangle 没做呢...
zealon
2020-05-26 16:08:03 +08:00
@zhengdai1990 没事啊 :smile:
zealon
2020-05-26 16:11:29 +08:00
@zoharSoul 一语道破呀,这里确实客户端可以轻松实现,而且减轻服务端不少压力,甚至可以把资源放到 CDN 上 哈哈哈
zealon
2020-05-26 16:15:24 +08:00
@zoharSoul 不过有些真实业务情况一定要放在服务端的,比如请求下一章的时候,要实时的判断这个章节是否因为涉黄、涉政之类的被加入黑名单,或者版权到期下架等等。
lzk50136
2020-05-26 16:16:50 +08:00
已 star
zoharSoul
2020-05-26 16:17:55 +08:00
@zealon 我的意思是请求的不是下一章, 对于后端来说是请求的某一章.
所以无需关心上 /下章之间的关系.
zshneedmoney
2020-05-26 16:21:54 +08:00
感觉不错
QZFCANBA
2020-05-26 16:37:58 +08:00
大佬有做 Hystrix 熔斷嗎?
B1ankCat
2020-05-26 16:57:24 +08:00
下一章狂点,然后就未知错误 = =
sunhuixyr
2020-05-26 17:08:37 +08:00
已 star,数据库连接连接不上,3306 开放了嘛?
zealon
2020-05-26 18:24:26 +08:00
@QZFCANBA 有的,目前在 reading-cloud-homepage 里 HystrixCommandBookConfig 简单的应用上了,后面完善后再写详细说明
zealon
2020-05-26 18:27:10 +08:00
@B1ankCat 少年,确实有错误,现在 5 个服务 和一个 Redis,使用一台 1 核 2GB 的服务跑着 ,性能不行呀 。。 后面优化增加限制同一 IP 短时间内频繁请求...
zealon
2020-05-26 18:34:45 +08:00
@sunhuixyr 开了,不好意思,仔细看了下,阿里云数据库需要开通白名单 IP 才能访问,告诉我你的公网 IP,我加一下就可以了。
yejianmail
2020-05-26 18:41:24 +08:00
兄弟,看起来不错,回头 fork 一个看看,奉上 star 先
recordnow
2020-05-26 18:55:53 +08:00
@zealon 已 star 研究下。
能不能把库或初始化脚本导出来一下,放到项目里。逐个添加白名单不是挺麻烦滴。感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX