Fork me on GitHub

随笔分类 -  Spring Boot

摘要:启动流程 消费者在启动之后,会通过 来生成远程调用代理类。在 方法中,会启动一系列调用函数,我们来一个个解析。 配置同样包含2种: XML Java API 1. 在此阶段,会初始化 & 的静态变量以及静态代码块。 2. 1. 通过 启动dubbo。 2. 继而初始化服务的元数据信息, 这段用来生成 阅读全文
posted @ 2020-03-02 09:59 IsaacZhang 阅读(323) 评论(1) 推荐(0) 编辑
摘要:服务发布 启动流程 服务提供方在启动部署时,dubbo会调用 来激活服务发布流程,如下所示: Java API: XML 查看 源码可知,总共有三种服务导出选项: 此方法主要是根据设置的属性进行合法性检查,主要包含是否已被导出,doExportUrls(); 此方法用来加载所有的服务注册中心对象,在 阅读全文
posted @ 2020-02-28 15:28 IsaacZhang 阅读(430) 评论(0) 推荐(0) 编辑
摘要:目前市面上流行的三大配置中心框架: "Spring CLoud Config" 、 "Alibaba Nacos" 以及 "携程apollo" , 我们相应架构组号召,就使用Apollo吧。 Work Flow 简单解释: 上图中有三套环境 、`UAT PROD Configservice Admi 阅读全文
posted @ 2020-01-20 10:40 IsaacZhang 阅读(1057) 评论(1) 推荐(0) 编辑
摘要:[TOC] 商品分类&轮播广告 因最近又被困在了OSGI技术POC,更新进度有点慢,希望大家不要怪罪哦。 "上节" 我们实现了登录之后前端的展示,如: 接着,我们来实现左侧分类栏目的功能。 商品分类|ProductCategory 从上图我们可以看出,商品的分类其实是有层级关系的,而且这种关系一般都 阅读全文
posted @ 2019-11-19 07:58 IsaacZhang 阅读(928) 评论(0) 推荐(0) 编辑
摘要:[TOC] 用户登录 在之前的文章中我们实现了用户注册和验证功能,接下来我们继续实现它的登录,以及登录成功之后要在页面上显示的信息。 接下来,我们来编写代码。 实现service 在 接口中添加用户登录方法: 然后,在 实现类中实现: Error Tips: 这里有一个小小的 ,大家一定要注意,在使 阅读全文
posted @ 2019-11-12 07:59 IsaacZhang 阅读(820) 评论(0) 推荐(0) 编辑
摘要:[TOC] Swagger生成JavaDoc 在日常的工作中,特别是现在前后端分离模式之下,接口的提供造成了我们前后端开发人员的沟通 成本大量提升,因为沟通不到位,不及时而造成的[撕币]事件都成了日常工作。特别是很多的开发人员 不擅长沟通,造成的结果就会让自己特别的痛苦,也让合作人员 的牙根痒痒。 阅读全文
posted @ 2019-11-08 07:59 IsaacZhang 阅读(1098) 评论(0) 推荐(0) 编辑
摘要:[TOC] 用户注册 作为一个现代化电商平台,什么最重要呢?of course 是用户,广大用户群体是支持我们可持续发展的基石, , 虽然在当今上帝已经不被重视了,特别是很多的平台对于老用户就是恨不得赶紧Out...但是用户量是一切的基础,那我们就开始创建我们的上帝吧! 创建数据库 数据库的部分,我 阅读全文
posted @ 2019-11-07 08:00 IsaacZhang 阅读(581) 评论(1) 推荐(1) 编辑
摘要:Mybatis Generator tool 在我们开启一个新项目的研发后,通常要编写很多的 , 大多研发兄弟们都会抱怨,为什么我要重复写 ? 我们为了避免编写一些不必要的重复代码,这节给大家介绍介绍使用一个开源工具,来帮助我们从这种简单枯燥的编码中解救出来。 隆重有请: "MyBatis通用Map 阅读全文
posted @ 2019-11-06 08:27 IsaacZhang 阅读(856) 评论(1) 推荐(1) 编辑
摘要:前言介绍和环境搭建 简述 springboot 本身是为了做服务化用的,我们为什么要反其道使用它来开发一份单体web应用呢? 在我们现实的开发工作中,还有大量的业务系统使用的是单体应用,特别是对于中小型团队来说,在项目开发之初选择服务化开发是得不偿失的,因为对于此类团队,势必所有的工作都是需要我们开 阅读全文
posted @ 2019-11-04 17:04 IsaacZhang 阅读(980) 评论(4) 推荐(1) 编辑
摘要:系统运行 经过长时间的编码实现,我们的主体模块已经大致完成,因为之前我们都是零散的对各个微服务自行测试,接下来,我们需要将所有的服务模块进行联调测试,Let's do it. 清除测试数据&测试文件 我们在实现各个服务的过程中,添加了不少的测试文件和测试数据,为了不影响我们最终的展示效果,我们先将之 阅读全文
posted @ 2019-08-18 22:38 IsaacZhang 阅读(565) 评论(0) 推荐(0) 编辑
摘要:在之前的18次文章中,我们实现了广告系统的 ,`广告检索 服务发现Eureka 服务调用Feign 网关路由Zuul 错误熔断Hystrix Spring Cloud`组件。 简单调用关系: 但是系统往往都会报错,我们之前定义了一些容错类和方法,但是只是在控制台可以看到错误信息,我们想要统计一些数据 阅读全文
posted @ 2019-08-15 22:48 IsaacZhang 阅读(449) 评论(0) 推荐(0) 编辑
摘要:实现增量数据索引 上一节中,我们为实现增量索引的加载做了充足的准备,使用到 开源组件来实现MySQL 的binlog监听,关于binlog的相关知识,大家可以自行网络查阅。或者可以 本节我们将根据binlog 的数据对象,来实现增量数据的处理,我们构建广告的增量数据,其实说白了就是为了在后期能把广告 阅读全文
posted @ 2019-08-10 22:15 IsaacZhang 阅读(650) 评论(1) 推荐(2) 编辑
摘要:MySQL Binlog简介 什么是binlog? 一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中。 binlog 的作用? 最主要有3个用途: 数据复制(主从同步) Mysql 的Master Slave协议,让Slave可以通过监听binlog实现数据 阅读全文
posted @ 2019-08-09 22:02 IsaacZhang 阅读(1008) 评论(0) 推荐(1) 编辑
摘要:上一节我们实现了索引基本操作的类以及索引缓存工具类,本小节我们开始实现加载全量索引数据,在加载全量索引数据之前,我们需要先将数据库中的表数据导出到一份文件中。Let's code. 1.首先定义一个常量类,用来存储导出文件存储的目录和文件名称 因为我们导出的文件需要在搜索服务中使用到,因此,我们将文 阅读全文
posted @ 2019-08-08 22:45 IsaacZhang 阅读(659) 评论(0) 推荐(0) 编辑
摘要:"上一节" 我们分析了广告索引的维护有2种, 和`增量索引维护`。因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能。 我们来定义一个接口,来接收所有index的增删改查操作,接口定义一个范型,来接收2个参数, 代表我们索引的健值, 代表返 阅读全文
posted @ 2019-08-07 23:05 IsaacZhang 阅读(458) 评论(0) 推荐(0) 编辑
摘要:索引设计介绍 在我们广告系统中,为了我们能更快的拿到我们想要的广告数据,我们需要对广告数据添加类似于数据库index一样的索引结构,分两大类: 和`倒排索引`。 正向索引 通过唯一键/主键生成与对象的映射关系。 比如,我们从数据库中查询数据的时候,根据数据主键ID查询当前记录,其实就是一个正向索引的 阅读全文
posted @ 2019-08-06 21:44 IsaacZhang 阅读(873) 评论(0) 推荐(0) 编辑
摘要:上一节我们使用了Ribbon(基于 )进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过 获取到服务实例的 ,然后再去调用API。本节课我们使用更简单的方式来实现,使用声明式的 服务客户端 ,我们只需要使用Feign来声明接口,利用 来进行配置就可以使用了, 阅读全文
posted @ 2019-08-04 23:07 IsaacZhang 阅读(322) 评论(0) 推荐(0) 编辑
摘要:在使用Ribbon调用广告投放系统API之前,我们需要先创建2个VO对象, ,`AdPlanGetRequestVO`. 在 启动类中,添加 客户端。 创建一个controller,来测试调用广告提供系统的API 阅读全文
posted @ 2019-07-31 21:24 IsaacZhang 阅读(208) 评论(0) 推荐(0) 编辑
摘要:搜索系统启动主类 配置文件 阅读全文
posted @ 2019-07-30 22:02 IsaacZhang 阅读(217) 评论(0) 推荐(0) 编辑
摘要:工作流程 项目依赖 阅读全文
posted @ 2019-07-30 21:55 IsaacZhang 阅读(233) 评论(0) 推荐(0) 编辑