Fork me on GitHub

07 2019 档案

摘要:在使用Ribbon调用广告投放系统API之前,我们需要先创建2个VO对象, ,`AdPlanGetRequestVO`. 在 启动类中,添加 客户端。 创建一个controller,来测试调用广告提供系统的API 阅读全文
posted @ 2019-07-31 21:24 IsaacZhang 阅读(209) 评论(0) 推荐(0) 编辑
摘要:搜索系统启动主类 配置文件 阅读全文
posted @ 2019-07-30 22:02 IsaacZhang 阅读(218) 评论(0) 推荐(0) 编辑
摘要:工作流程 项目依赖 阅读全文
posted @ 2019-07-30 21:55 IsaacZhang 阅读(234) 评论(0) 推荐(0) 编辑
摘要:在前面的过程中,我们创建了4个project: "服务发现" 我们使用Eureka 作为服务发现组件,学习了 ,`Eureka Client`的使用。 Eureka Server 1. 加依赖 2. 加注解 3. 改配置 使用Sprint Boot 项目三部曲,我们可以快速添加一个新组件,并正常使用 阅读全文
posted @ 2019-07-29 23:23 IsaacZhang 阅读(353) 评论(0) 推荐(0) 编辑
摘要:DAO层设计实现 这里我们使用 来实现数据库操作,当然大家也可以使用 ,都是一样的,我们依然以用户表操作为例: JPARepository 的默认实现方法,如果我们只是继承了 而没有实现具体的操作方法,我们也是可以通过使用它的默认方法来做 操作的,如下: 功能Service实现 创建service 阅读全文
posted @ 2019-07-29 19:51 IsaacZhang 阅读(329) 评论(0) 推荐(0) 编辑
摘要:广告投放系统启动主类说明 配置信息 创建实体对象 实体类和数据库表一般是一一对应,通常称之为 ,以用户表为例: "Lombok传送门" 其他的数据库对应实体类( ,`AdPlan AdCreative AdUnitDistrict AdUnitHobby AdUnitKeyword Relation 阅读全文
posted @ 2019-07-28 20:00 IsaacZhang 阅读(617) 评论(2) 推荐(0) 编辑
摘要:一个大的系统,在代码的复用肯定是必不可少的,它能解决: 1. 统一的响应处理(可以对外提供统一的响应对象包装) 2. 统一的异常处理(可以将业务异常统一收集处理) 3. 通用代码定义、配置定义(通用的配置信息放在统一的代码管理中,便于维护和更新) 创建项目 POM文件 项目结构 vo (统一响应对象 阅读全文
posted @ 2019-07-27 19:59 IsaacZhang 阅读(626) 评论(0) 推荐(0) 编辑
摘要:Zuul(Router and Filter) WIKI: "传送门" 作用 1. 认证,鉴权(Authentication/Security) 2. 预判(Insights) 3. 压力测试(Stress Testing) 4. 灰度/金丝雀测试(Canary Testing) 5. 动态路由(D 阅读全文
posted @ 2019-07-26 20:29 IsaacZhang 阅读(656) 评论(3) 推荐(0) 编辑
摘要:什么是广告系统? 主要包含: 广告主投放广告的《广告投放系统》 媒体方(广告展示媒介 )检索广告用的《广告检索系统》 广告计费系统(按次,曝光量等等) 报表系统 Etc. 使用技能栈 JDK1.8 MySQL 8+ Maven 3+ Spring cloud Greenwich.SR2 Eureka 阅读全文
posted @ 2019-07-26 07:43 IsaacZhang 阅读(1022) 评论(0) 推荐(0) 编辑
摘要:父项目管理 首先,我们在创建投放系统之前,先看一下我们的工程结构: 就是我们的广告投放系统。如上结构,我们需要首先创建一个Parent Project 来编写父项目的pom,来管理我们的统一依赖信息。 服务发现 Eureka Eureka Server (提供服务的注册和发现) Eureka Cli 阅读全文
posted @ 2019-07-26 07:42 IsaacZhang 阅读(877) 评论(5) 推荐(0) 编辑
摘要:在以往的对象模型编码时,我们需要写一大堆的get/set以及不同的构造函数等。Lombok为我们提供了一个非常好的插件形式。 在大多数的项目中,只需要使用到以下集中Annotation就足够了,如果需要查看更多的选项,请参考: "传送门" 1. 2. 3. 4. 生成final 字段的构造函数 5. 阅读全文
posted @ 2019-07-24 23:04 IsaacZhang 阅读(497) 评论(0) 推荐(0) 编辑
摘要:Maven 基础知识 官网: "传送门" Maven 项目结构 json $ MavenProject | pom.xml | src | | main | | ` java | | ` resources | ` test | | ` java | | ` resources ` README.m 阅读全文
posted @ 2019-07-23 19:36 IsaacZhang 阅读(269) 评论(0) 推荐(0) 编辑
摘要:在之前的练习中,只要应用重启,就需要重新配置,这样在我们实际的项目是非常不实用的,那么有没有办法把我们配置的规则保存下来呢?答案是YES,那么接下来,给大家来介绍如何将Sentinel规则持久化。 Document: "传送门" File Datasource(文件存储) Pull 模式 Push 阅读全文
posted @ 2019-07-22 19:51 IsaacZhang 阅读(3054) 评论(1) 推荐(0) 编辑
摘要:Qestion Answer A: B: C: 编译错误 D: 以上答案都是错的 Explain 程序执行的时候,App Classloader 会首先加载 , 按照类的顺序依次执行。 CASE 1 我们都知道, 块会在类加载的时候初始化,那么下一步会执行到 我们先来看一下当前行的字节码: 分析 可 阅读全文
posted @ 2019-07-20 18:36 IsaacZhang 阅读(600) 评论(0) 推荐(0) 编辑
摘要:Sentinel API Github : "WIKI " Sphu (指明要保护的资源名称) Tracer (指明调用来源,异常统计接口) ContextUtil(标示进入调用链入口) 流控规则(针对来源属性) 降级规则 Sentinel Annotation 源码: & 使用该注解重构上述方法 阅读全文
posted @ 2019-07-19 23:57 IsaacZhang 阅读(546) 评论(0) 推荐(0) 编辑
摘要:客户端远程调用 Feign 什么是Feign? Feign是 Netflix 公司开源的声明式HTTP客户端 Github : "Feign 源码" 为什么需要Feign? 1. 原代码可读性不高 2. 复杂的URL难以维护( ) 3. 难以应对需求的快速变化 4. 编码体验和我们写JAVA差异较大 阅读全文
posted @ 2019-07-18 15:48 IsaacZhang 阅读(813) 评论(0) 推荐(0) 编辑
摘要:客户端侧负载均衡 在下图中,负载均衡能力算法是由内容中心提供,内容中心相对于用户中心来说,是用户中心的客户端,所以又被称为客户端侧负载均衡 自定义实现Client Random负载均衡 1. 获取所有的服务list 2. 随机获取需要访问的服务信息 Ribbon 什么是Ribbon Ribbon是N 阅读全文
posted @ 2019-07-17 21:21 IsaacZhang 阅读(1783) 评论(0) 推荐(0) 编辑