目录
五、Feign与Ribbon微服务相互访问(RPC)与hystrix断路器使用
第一部分:eureka、zuul、通用模块(不讲代码实现,下载代码自己看。)
这不是一个完整的广告系统,主要涉及两方面 广告检索 、广告投放 ,这两个方面我感觉是最重要的,但是也使用Kafka的消息传递,为剩下的曝光见监测、 报表 、扣费 这三个部分留下了接口。
第二部分:主要会介绍广告投放、hystrix断路器。打算随便介绍一下,也就是MVC架构设计模式,Model层数据的操作,数据库实体类对象等;Controller层控制层对外提供服务(跳转),对内访问Model层;没有用户ui等,都是后端接口,所以,也就没有view层了。
广告系统架构图
所使用到的技术
JDK 、Kafka 、MySQL
框架 SpringCloud: Finchley.RELEASE 、Spring 、Spring Data JPA 、Spring boot
源码 : github https://github.com/yingyingqiqi/luoweiying-ad-spring-cloud/tree/master
四、sponsor模块(广告投放)
sponsor模块(广告投放)介绍图
maven坐标(简化版)
artifactId>spring-boot-starter-web</artifactId> //web功能
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> //euraka客户端
<artifactId>spring-boot-starter-data-jpa</artifactId> //jpa规范+hibernate+spring jdbc
<artifactId>mysql-connector-java</artifactId> //驱动
<artifactId>commons-codec</artifactId> //apache工具类
这里介绍一下spring data jpa: 很久以前,数据库的持久层有一套标准--ORM(对象关系映射,就是把数据库映射成对象),一些第三方公司根据这个标准,做了一些ORM框架,如:hibernate、TopLink等,sun整合了第三方框架,推出一套JPA规范,spring data jpa是在这个jpa规范+hibernate+jdbc再次的封装,越封装、越难理解底层代码,但是对于广告投放这个项目,对数据库的性能要求不高,后面会介绍。
一些介绍可以看这里 spring data jpa 详解 SpringData JPA 官方文档
配置(不用看)
eureka:
client:
service-url:
defaultZone: h