自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

转载 大龄开发人员如何破局

本人性格已经很外向了,也是一个相对乐观派,可是依然陷入深深的焦虑中。为什么有这个想法说实话,在此次公司业务变动裁员(传送门)之前,从来没有想过情况会发展到这一步,一直以来都知道开发界有隐形的年龄歧视,从来没有想过这种问题会发生在自己身上,也许是工作的前10年一直都太顺利了,安逸的生活让自己...

2019-08-28 11:08:00 107

转载 被辞退员工的一天

很抱歉各位看官,答应大家的Spring Cloud Alibaba系列文章要推迟了。。。给大家添堵了。昨天晚上,临下班之前,被老大叫进了会议室,然后,嗯。。。谈下一话题。关于辞退看法其实,公司在发展的过程中,总会遇到各种各样的问题,无论是管理方面,还是运营方面,如果一旦某一环节出现了问...

2019-08-22 17:58:00 191

转载 [Spring cloud 一步步实现广告系统] 22. 广告系统回顾总结

到目前为止,我们整个初级广告检索系统就初步开发完成了,我们来整体回顾一下我们的广告系统。整个广告系统编码结构如下:mscx-ad 父模块> 主要是为了方便我们项目的统一管理mscx-ad-db> 这个模块主要有2个作用,本身只应该作为数据库脚本管理package...

2019-08-20 23:01:00 161

转载 [Spring cloud 一步步实现广告系统] 21. 系统错误汇总

广告系统学习过程中问题答疑博客园Eureka集群启动报错Answer因为Eureka在集群启动过程中,会连接集群中其他的机器进行数据同步,在这个过程中,如果别的服务还没有启动完成,就会出现Connection refused: connecterror,当其他节点启动完成之后,报错就会...

2019-08-19 20:24:00 115

转载 [Spring cloud 一步步实现广告系统] 20. 系统运行测试

系统运行经过长时间的编码实现,我们的主体模块已经大致完成,因为之前我们都是零散的对各个微服务自行测试,接下来,我们需要将所有的服务模块进行联调测试,Let's do it.清除测试数据&测试文件我们在实现各个服务的过程中,添加了不少的测试文件和测试数据,为了不影响我们最终的展示效...

2019-08-18 22:39:00 90

转载 [Spring cloud 一步步实现广告系统] 19. 监控Hystrix Dashboard

在之前的18次文章中,我们实现了广告系统的广告投放,广告检索业务功能,中间使用到了 服务发现Eureka,服务调用Feign,网关路由Zuul以及错误熔断Hystrix等Spring Cloud组件。简单调用关系:但是系统往往都会报错,我们之前定义了一些容错类和方法,但是只是在控制台可以...

2019-08-15 22:42:00 84

转载 Docker部署网站之后映射域名

Docker中部署tomcat相信大家也都知道,不知道的可以google 或者bing 一下。这里主要是为了记录在我们启动容器之后,tomcat需要直接定位到网站信息,而不是打开域名之后,还得加个blog后缀才能访问到我们的网站首页。Docker exec -it [容器id] bash...

2019-08-14 20:56:00 129

转载 [Spring cloud 一步步实现广告系统] 18. 查询返回广告创意

根据三个维度继续过滤在上一节中我们实现了根据流量信息过滤的代码,但是我们的条件有可能是多条件一起传给我们的检索服务的,本节我们继续实现根据推广单元的三个维度条件的过滤。在SearchImpl类中添加过滤方法public class SearchImpl implements ISea...

2019-08-13 22:28:00 121

转载 [Spring cloud 一步步实现广告系统] 17. 根据流量类型查询广告

广告检索服务功能介绍> 媒体方(手机APP打开的展示广告,走在路上看到的大屏幕广告等等)请求数据对象实现从上图我们可以看出,在媒体方向我们的广告检索系统发起请求的时候,请求中会有很多的请求参数信息,他们分为了三个部分,我们来编码封装这几个参数对象信息以及我们请求本身的信息。Le...

2019-08-12 22:26:00 100

转载 [Spring cloud 一步步实现广告系统] 16. 增量索引实现以及投送数据到MQ(kafka)

实现增量数据索引上一节中,我们为实现增量索引的加载做了充足的准备,使用到mysql-binlog-connector-java 开源组件来实现MySQL 的binlog监听,关于binlog的相关知识,大家可以自行网络查阅。或者可以mailto:magicianisaac@gmail.com...

2019-08-10 22:16:00 78

转载 [Spring cloud 一步步实现广告系统] 15. 使用开源组件监听Binlog 实现增量索引准备...

MySQL Binlog简介什么是binlog?一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中。binlog 的作用?最主要有3个用途:数据复制(主从同步)Mysql 的Master-Slave协议,让Slave可以通...

2019-08-09 22:04:00 124

转载 [Spring cloud 一步步实现广告系统] 14. 全量索引代码实现

上一节我们实现了索引基本操作的类以及索引缓存工具类,本小节我们开始实现加载全量索引数据,在加载全量索引数据之前,我们需要先将数据库中的表数据导出到一份文件中。Let's code.1.首先定义一个常量类,用来存储导出文件存储的目录和文件名称因为我们导出的文件需要在搜索服务中使用到,因此,...

2019-08-08 22:46:00 70

转载 [Spring cloud 一步步实现广告系统] 13. 索引服务编码实现

上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护。因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能。我们来定义一个接口,来接收所有index的增删改查操作,接口定义一个范型,来接收2个参数,K代表我们索引的健值,V...

2019-08-07 23:06:00 74

转载 [Spring cloud 一步步实现广告系统] 12. 广告索引介绍

索引设计介绍在我们广告系统中,为了我们能更快的拿到我们想要的广告数据,我们需要对广告数据添加类似于数据库index一样的索引结构,分两大类:正向索引和倒排索引。正向索引通过唯一键/主键生成与对象的映射关系。比如,我们从数据库中查询数据的时候,根据数据主键ID查询当前记录,其实就是一个...

2019-08-06 21:45:00 98

转载 [JVM 相关] Java 新型垃圾回收器(Garbage First,G1)

回顾传统垃圾回收器HotSpot 垃圾收集器实现Serial Collector(串型收集器)使用场景,大多数服务器是单核CPU。适用收集场景:1. 新生代收集(Young Generation Collection)2. 老年代收集(Old Generation Colle...

2019-08-05 20:10:00 81

转载 [Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用

上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Port,然后再去调用API。本节课我们使用更简单的方式来实现,使用声明式的Web服务客户端Feig...

2019-08-04 23:08:00 100

转载 [Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用

在使用Ribbon调用广告投放系统API之前,我们需要先创建2个VO对象,AdPlanVO,AdPlanGetRequestVO.//数据请求对象@Data@NoArgsConstructor@AllArgsConstructorpublic class AdPlanGetReque...

2019-07-31 21:24:00 75

转载 [Spring cloud 一步步实现广告系统] 9. 主类和配置文件

搜索系统启动主类/** * AdSearchApplication for 广告搜索服务启动类 * * @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang | 若初</a> */@Enab...

2019-07-30 21:57:00 71

转载 [Spring cloud 一步步实现广告系统] 8. 检索系统配置&依赖

工作流程项目依赖<dependencies> <!-- hystrix 监控面板 --> <dependency> <groupId>org.springframework.cloud...

2019-07-30 21:39:00 97

转载 [Spring cloud 一步步实现广告系统] 7. 中期总结回顾

在前面的过程中,我们创建了4个project:服务发现我们使用Eureka 作为服务发现组件,学习了Eureka Server,Eureka Client的使用。Eureka Server加依赖 <dependency> <groupI...

2019-07-29 23:24:00 107

转载 [Spring cloud 一步步实现广告系统] 6. Service实现&Zuul配置&Test

DAO层设计实现这里我们使用Spring DATA JPA来实现数据库操作,当然大家也可以使用Mybatis,都是一样的,我们依然以用户表操作为例:/** * AdUserRepository for 用户数据库操作接口 * 继承自JpaRepository<AdUser, Lo...

2019-07-29 19:52:00 133

转载 [Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类

广告投放系统启动主类说明/** * SponsorApplication for 广告赞助商/投递服务启动类 * 添加注解{@link EnableFeignClients}之后,当前微服务就可以调用别的微服务, * 但是当前服务是广告提供,不需要调用别的微服务,在此只是为了在dash...

2019-07-28 20:01:00 118

转载 [Spring cloud 一步步实现广告系统] 4. 通用代码模块设计

一个大的系统,在代码的复用肯定是必不可少的,它能解决:统一的响应处理(可以对外提供统一的响应对象包装)统一的异常处理(可以将业务异常统一收集处理)通用代码定义、配置定义(通用的配置信息放在统一的代码管理中,便于维护和更新)创建项目 mscx-ad-commonPO...

2019-07-27 20:23:00 85

转载 [Spring cloud 一步步实现广告系统] 3. 网关路由

Zuul(Router and Filter)WIKI: 传送门作用认证,鉴权(Authentication/Security)预判(Insights)压力测试(Stress Testing)灰度/金丝雀测试(Canary Testing)动态路由(Dynamic Routi...

2019-07-27 08:39:00 89

转载 [Spring cloud 一步步实现广告系统] 1. 业务架构分析

什么是广告系统?主要包含:广告主投放广告的《广告投放系统》媒体方(广告展示媒介-<地铁广告屏幕>)检索广告用的《广告检索系统》广告计费系统(按次,曝光量等等)报表系统Etc.使用技能栈JDK1.8MySQL 8+Maven 3+Spring cloud...

2019-07-26 07:43:00 87

转载 [Spring cloud 一步步实现广告系统] 2. 配置项目结构 & 实现Eureka服务

父项目管理首先,我们在创建投放系统之前,先看一下我们的工程结构:mscx-ad-sponsor就是我们的广告投放系统。如上结构,我们需要首先创建一个Parent Project mscx-ad来编写父项目的pom,来管理我们的统一依赖信息。<?xml version="1.0"...

2019-07-25 16:13:00 135

转载 [Java 开发利器Lombok] 常用注解演示

在以往的对象模型编码时,我们需要写一大堆的get/set以及不同的构造函数等。Lombok为我们提供了一个非常好的插件形式。在大多数的项目中,只需要使用到以下集中Annotation就足够了,如果需要查看更多的选项,请参考:传送门@Getter@Setter@ToStrin...

2019-07-24 23:08:00 93

转载 使用maven快速入门

Maven 基础知识官网: 传送门Maven 项目结构$ MavenProject|-- pom.xml|-- src| |-- main| | `-- java| | `-- resources| `-- test| | `-- java...

2019-07-23 19:37:00 51

转载 [Spring-Cloud-Alibaba] Sentinel 规则持久化

在之前的练习中,只要应用重启,就需要重新配置,这样在我们实际的项目是非常不实用的,那么有没有办法把我们配置的规则保存下来呢?答案是YES,那么接下来,给大家来介绍如何将Sentinel规则持久化。Document: 传送门File Datasource(文件存储)Pull 模式Pu...

2019-07-22 19:51:00 457

转载 Java 类加载之匿名类和主类相互依赖问题

Qestion/** * ClassInitializedOrder for : Java Classload Order Test * * @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang | 若初&...

2019-07-20 18:37:00 88

转载 [Spring-Cloud-Alibaba] Sentinel 整合RestTemplate & Feign

Sentinel APIGithub : WIKI Sphu (指明要保护的资源名称)Tracer (指明调用来源,异常统计接口)ContextUtil(标示进入调用链入口)流控规则(针对来源属性)@GetMapping("/test-sentinel-api")...

2019-07-19 23:58:00 230

转载 客户端远程调用Feign

客户端远程调用Feign什么是Feign?Feign是 Netflix 公司开源的声明式HTTP客户端Github : Feign 源码为什么需要Feign?原代码可读性不高复杂的URL难以维护(https://user-center/s?wd={userId}&r...

2019-07-18 15:49:00 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除