本篇文章给大家分享的是有关Spring cloud如何实现广告系统,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
到目前为止,我们整个初级广告检索系统就初步开发完成了,我们来整体回顾一下我们的广告系统。 整个广告系统编码结构如下:
mscx-ad
父模块 > 主要是为了方便我们项目的统一管理
mscx-ad-db
> 这个模块主要有2个作用,本身只应该作为数据库脚本管理package来使用,但是我们在生成索引文件的过程中,为了方便,我就直接将导出全量索引
的json文件生成也写在了该项目中。 主要目的还是通过flyway
进行数据库脚本的管理。
mscx-ad-common
> 这个主要是一些通用工具类的存放
mscx-ad-feign-sdk
> 这个jar包主要是为了服务间的调用,为了统一管理各种pojo
以及CustomFeignClient
而创建的,方便一次修改,全局应用,。当然如果项目团队不大的时候,你完全可以在不同的project中创建相同的vo对象,目前RPC中大多如此设计。
mscx-ad-dashboard
> 这个是hystrix
提供的可视化管理工具,当然,后期我同样会使用我们的阿里大大的sentinel
将其替换掉,敬请期待。
mscx-ad-discovery
> 这个我命名的时候没有使用ad-eureka
,在项目中也是尽量使用的SpringCloud Common
抽象的公共注解,比如@EnableDiscoveryClient
,其实有心的同学能看的出来,我打的主意也是想要后续替换的,我们可以使用ZK,但是我后期同样会使用我们阿里大大的NACOS
来替换掉它。
mscx-ad-zuul
> 网关路由组件,没啥特别的,后续使用gateway替换
mscx-ad-sponsor
> 广告新增的主要模块,为广告主服务
mscx-ad-search
> 整个广告系统的核心,对外暴露查询服务。
为了我们系统的高可用,上述系统理论上都需要多实例部署。
我们在广告检索服务中使用到了监听 Mysql数据库的 Binlog
来实现增量索引,大家不妨想想,如果我们的系统请求很高,我们的binlog
就需要被N多的服务实例所监听,这样会有什么问题? 为什么会有这种问题? 怎么修改是合理的?
以上就是Spring cloud如何实现广告系统,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。