SpringCloud广告系统随想
广告系统需要两个方面:一个广告投放系统,一个是广告检索系统。
两个系统针对的人群不同:
1、广告投放系统针对的是广告主,他们出资进行广告的投放,将广告的一些数据投放到系统中。
2、广告检索系统针对的是媒体,媒体向广告检索系统传入检索要求,广告检索系统从广告投放系统的数据中进行检索,检索出合适的广告数据。(核心)
另外的一些系统:
1、曝光检测系统——>用来检测广告数据的曝光记录。
2、报表系统——>构建广告数据报表,比如B广告在A区域共曝光多少次等。
3、扣费系统——>按照广告的点击次数,时长等方式进行扣费。
Eureka:用来进行服务的注册与服务的发现
Zuul:用来进行请求转发和请求信息记录
Eureka的架构:
1、Eureka Server:是服务注册发现的服务器,可以集群。
2、Service Provider:服务提供方,在Eureka Server上进行注册,让Eureka Server拥有其元信息。
3、Service consumer:服务消费方,从Eureka Server上获取服务注册列表,从而消费服务。
Provider/Consumer都是Eureka Server的Client(采用C/S架构)
为了实现Eureka的高可用,防止单点Server崩坏导致服务服务注册,元信息丢失,将Server集群,各个Server之间相互注册,将服务的元数据进行复制。如图:
元信息包含:instanceId、appName、port、securePort、homePageUrl、healthCheckUrl、statusPageUrl等等
元信息的存储结构是两层Map嵌套,第一层是appname(应用名)、第二层是instancename(实例名);都存储在JVM内存中