SpringCloud初探

大四了,即将面临毕业了,毕设也就如期而至,本科论文当然是比较水的啦~选择了一个自己比较喜欢的微服务化项目开始着手了。下面就大体说一下我是如何对一个单体服务进行拆分的

首先放上原项目的地址
https://github.com/stalary/personfilter

单体架构介绍

可以看出当时做的时候用了不少中间件,LightMQ呢是为了替代kafka自己写了一套较为简单的消息队列(弱鸡学生机根本带不动zk+kafka啊),MapDB则是一款嵌入式数据库,而WebSocket则是为了做服务端推送(推送消息),大体就是提供了一个招聘系统的基本功能,下面我就介绍一下我是如何拆分的吧。

首先,要对各种中间件进行选型。

  • 注册中心:注册中心并没有选择常用的Eureka或者Consul,而是选择了阿里开源不久的Nacos,总体来说,Nacos还是不错的,将注册中心和配置中心集成,这样我也就不用再去使用SpringCloud-Config(需要依赖于git修改配置)

  • 流量监控:因为Hystrix已经停止开发了,所以选择了阿里开源的Sentinel,由于开源已经许久,所以没有碰上什么坑,体验还是不错的。

  • 链路追踪:选择了业界比较常规的Zipkin+Sleuth,其中遇到了一点小问题,就是和Nacos兼容不太好,Nacos地址强制不能输入http前缀,但是Sleuth又需要,引起了一些小问题,所以需要单独向Nacos注册一个当前服务器地址的服务。。。不然会一直报错哦,这里跟Nacos提了Issue,但是好像对方并没有懂我的意思。

  • 网关:网关没有使用Zuul,因为听说性能不太好(我这种小流量其实也感觉不出来),选择了SpringCloud-Gateway,用起来还是比较舒服的,把登陆校验的工作全部放在了网关中。这样就不用在每一个服务中写重复的拦截器了。

  • 服务调用:既然使用了SpringCloud那就少不了Http调用了,我选择了Feign,不得不说,封装的真的很棒,用起来很爽~

  • 部署:前一阵子刚学习了一波k8s,当然要趁热打铁,所以服务全部Docker化,部署在了k8s上。

选型完成以后呢,就要对服务进行拆分了,我是拆分成了如下几个子服务,真正使用起来后发现其实拆的还是过于散了。。互相调用过多。


项目结构

我将整个项目拆分为了以上几个部分

  • 消费者服务,基于LightMQ,用于消费简历投递,简历处理,简历接收几个消息。

  • 网关服务,这个就是SpringCloud-Gateway,做了一些登陆校验的工作。

  • 站内信服务,用于消息中心的消息发送,读取等,未来考虑加入实时会话的功能。

  • 外部服务,将短信验证码,邮件服务,上传头像的服务进行抽离。

  • push服务,用来向前端推送消息中心消息数量。

  • 招聘服务,包括公司信息和岗位信息,提供一些增删改查的操作。

  • 简历服务,用于对用户简历的增删查改,由于使用MongoDB,所以单独抽离出来进行处理。

  • 用户服务,用于用户的登陆注册等一些基础服务(直接调用之前写的UserCenter)。

项目结构图

一个单体架构的微服务化就介绍到这里啦~感兴趣的可以去github看一下源码,满意的话麻烦赏颗🌟🌟
https://github.com/stalary/microservice-recruit

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 142,461评论 1 300
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 61,089评论 1 256
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 94,078评论 0 212
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 40,938评论 0 175
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 48,698评论 1 255
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 38,733评论 1 175
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,340评论 2 268
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,138评论 0 165
  • 想象着我的养父在大火中拼命挣扎,窒息,最后皮肤化为焦炭。我心中就已经是抑制不住地欢快,这就叫做以其人之道,还治其人...
    爱写小说的胖达阅读 28,949评论 6 229
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 32,493评论 0 213
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,269评论 2 214
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 30,591评论 1 229
  • 白月光回国,霸总把我这个替身辞退。还一脸阴沉的警告我。[不要出现在思思面前, 不然我有一百种方法让你生不如死。]我...
    爱写小说的胖达阅读 24,216评论 0 31
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,107评论 2 213
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 31,485评论 3 204
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,615评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,006评论 0 167
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 33,496评论 2 230
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 33,572评论 2 230

推荐阅读更多精彩内容