Java
Isaac-Zhang
做一个好人。
展开
-
[dubbo 源码之 ]1. 服务提供方如何发布服务
服务发布启动流程export`服务提供方在启动部署时,dubbo会调用ServiceConfig#export来激活服务发布流程,如下所示:Java API:// 1. 创建ServiceConfig实例 ServiceConfig<IGreetingService> serviceConfig = new ServiceConfig<...原创 2020-02-28 15:27:39 · 872 阅读 · 0 评论 -
spring boot 集成apollo 快速指南
目前市面上流行的三大配置中心框架:Spring CLoud Config 、Alibaba Nacos 以及携程apollo, 我们相应架构组号召,就使用Apollo吧。Work Flow简单解释:上图中有三套环境FAT、UAT和PROD,每一套环境都部署了2套Configservice 和 Adminservice.使用统一的Portal Server Cluster对所有环境进行...原创 2020-01-20 10:40:45 · 1622 阅读 · 0 评论 -
SEATA 1.0.0使用yaml配置替换file.conf 和 registry.conf
Client Configure for SEATA 1.0.0在SEATA 1.0.0 中发布了一个新的feature,可以使用yaml/properties来替换掉我们在之前引入的file.conf 和registry.conf. 只需2步即可达到目的:第一步,更改依赖 <!--seata--> <dependency> ...原创 2020-01-16 14:25:38 · 8437 阅读 · 4 评论 -
从零开始安装Redis 集群(Linux CenOS7)
从零开始安装Redis 集群(Linux CenOS7)使用ISO安装CentOS7虚拟机配置静态IP(参考Mac VMware Fusion CentOS7配置静态IP)安装vim [root@localhost java]# rpm -qa|grep vim vim-minimal-7.4.629-6.el7.x86_64 [root@localhost java...原创 2020-01-06 10:37:09 · 881 阅读 · 0 评论 -
CentOS7中安装MariaDB
什么是mariaDB?在线安装(慢的要命)RPM离线安装(CentOS7.X)在线安装打开官方网站 https://mariadb.org/点击Download,跳转到下一页面继续点击Download,进到下页点击红框中的[链接] (https://downloads.mariadb.org/mariadb/repositories/#mirror=23Media)...原创 2019-11-29 09:37:14 · 1006 阅读 · 0 评论 -
[springboot 开发单体web shop] 8. 商品详情&评价展示
上文回顾上节 我们实现了根据搜索关键词查询商品列表和根据商品分类查询,并且使用到了mybatis-pagehelper插件,讲解了如何使用插件来帮助我们快速实现分页数据查询。本文我们将继续开发商品详情页面和商品留言功能的开发。需求分析关于商品详情页,和往常一样,我们先来看一看jd的示例:从上面2张图,我们可以看出来,大体上需要展示给用户的信息。比如:商品图片,名称,价格,等等。在第二张图中,...原创 2019-11-25 10:55:06 · 872 阅读 · 2 评论 -
[springboot 开发单体web shop] 7. 多种形式提供商品列表
上文回顾上节 我们实现了仿jd的轮播广告以及商品分类的功能,并且讲解了不同的注入方式,本节我们将继续实现我们的电商主业务,商品信息的展示。需求分析首先,在我们开始本节编码之前,我们先来分析一下都有哪些地方会对商品进行展示,打开jd首页,鼠标下拉可以看到如下:可以看到,在大类型下查询了部分商品在首页进行展示(可以是最新的,也可以是网站推荐等等),然后点击任何一个分类,可以看到如下:我们一般...原创 2019-11-22 12:00:43 · 1073 阅读 · 0 评论 -
[springboot 开发单体web shop] 6. 商品分类和轮播广告展示
商品分类&轮播广告因最近又被困在了OSGI技术POC,更新进度有点慢,希望大家不要怪罪哦。上节 我们实现了登录之后前端的展示,如:接着,我们来实现左侧分类栏目的功能。## 商品分类ProductCategory从上图我们可以看出,商品的分类其实是有层级关系的,而且这种关系一般都是无限层级。在我们的实现中,为了效果的展示,我们仅仅是展示3级分类,在大多数的中小型电商系统中,三...原创 2019-11-18 18:49:14 · 1230 阅读 · 0 评论 -
[springboot 开发单体web shop] 5. 用户登录及首页展示
用户登录及前端展示用户登录在之前的文章中我们实现了用户注册和验证功能,接下来我们继续实现它的登录,以及登录成功之后要在页面上显示的信息。接下来,我们来编写代码。实现service在com.liferunner.service.IUserService接口中添加用户登录方法:public interface IUserService { ... /** *...原创 2019-11-11 21:41:35 · 1005 阅读 · 0 评论 -
[springboot 开发单体web shop] 4. Swagger生成Javadoc
Swagger生成JavaDoc在日常的工作中,特别是现在前后端分离模式之下,接口的提供造成了我们前后端开发人员的沟通成本大量提升,因为沟通不到位,不及时而造成的[撕币]事件都成了日常工作。特别是很多的开发人员不擅长沟通,造成的结果就会让自己特别的痛苦,也让合作人员恨的牙根痒痒。为了结束战火蔓延,同时为了提升开发人员的满意度,Swagger应运而生。什么是SwaggerSwagger...原创 2019-11-08 10:24:36 · 1465 阅读 · 0 评论 -
[springboot 开发单体web shop] 3. 用户注册实现
[TOC]用户注册作为一个现代化电商平台,什么最重要呢?of course 是用户,广大用户群体是支持我们可持续发展的基石,顾客是上帝, 虽然在当今上帝已经不被重视了,特别是很多的平台对于老用户就是恨不得赶紧Out...但是用户量是一切的基础,那我们就开始创建我们的上帝吧!创建数据库---数据库的部分,我在这里就不多讲了,大家需要的话可以直接去传送门 抓取脚本expensive-shop...原创 2019-11-07 10:16:07 · 387 阅读 · 0 评论 -
[springboot 开发单体web shop] 2. Mybatis Generator 生成common mapper
Mybatis Generator tool在我们开启一个新项目的研发后,通常要编写很多的entity/pojo/dto/mapper/dao..., 大多研发兄弟们都会抱怨,为什么我要重复写CRUD? 我们为了避免编写一些不必要的重复代码,这节给大家介绍介绍使用一个开源工具,来帮助我们从这种简单枯燥的编码中解救出来。隆重有请: MyBatis通用Mapper4通用Mapper都可以极大的...原创 2019-11-06 10:11:08 · 1168 阅读 · 0 评论 -
[springboot 开发单体web shop] 1. 前言介绍和环境搭建
前言介绍和环境搭建简述springboot 本身是为了做服务化用的,我们为什么要反其道使用它来开发一份单体web应用呢?在我们现实的开发工作中,还有大量的业务系统使用的是单体应用,特别是对于中小型团队来说,在项目开发之初选择服务化开发是得不偿失的,因为对于此类团队,势必所有的工作都是需要我们开发人员来做的,例如:技术选型业务需求分析业务需求设计大量的测试运行部署运营健康监控....原创 2019-11-04 17:04:27 · 933 阅读 · 0 评论 -
[插件化开发] Poc之后,我选择放弃OSGI
Poc之后,我选择放弃OSGITIPS:如贵司允许重构老系统或者允许使用OSGI的第三方框架改造所带来的投入成本,并且评估之后ROI乐观,那么还是可以使用的。Runtime Version以下问题全部基于Equinox框架 & 使用BluePrint 整合Spring框架OSGIorg.eclipse.osgi 3.15.0v20190830-1434Equi...原创 2019-10-23 10:30:57 · 1498 阅读 · 0 评论 -
[插件化开发] 1. 初识OSGI
初识 OSGI背景当前product是以solution的方式进行售卖,但是随着公司业务规模的快速夸张,随之而来的是新客户的产品开发,老客户的产品维护,升级以及修改bug,团队的效能明显下降,为了解决此类问题,必须站在公司战略的统一高度来重构系统。荣幸的是,本人在此时加入团队并负责系统架构的升级与重构工作。因为公司在全世界都有客户,而且客户又来自于各行各业,带来的问题就是如何抽离公共业务的...原创 2019-10-15 14:59:30 · 1246 阅读 · 0 评论 -
Spring Cloud Gateway 之请求坑位[微服务IP不同请求会失败]
问题产生背景在使用Spring Cloud Gateway过程中,希望配置多Routes映射不同的微服务,因为Gateway 和Zuul的访问路径不同(zuul 会带有服务service Id),造成错误。现象表现问题定位认为是配置Predicate问题。 routes: - id: after_route uri: lb://us...原创 2019-09-26 16:31:54 · 2093 阅读 · 0 评论 -
大龄开发人员如何破局
本人性格已经很外向了,也是一个相对乐观派,可是依然陷入深深的焦虑中。为什么有这个想法说实话,在此次公司业务变动裁员(传送门)之前,从来没有想过情况会发展到这一步,一直以来都知道开发界有隐形的年龄歧视,从来没有想过这种问题会发生在自己身上,也许是工作的前10年一直都太顺利了,安逸的生活让自己产生了错觉。虽然在找工作的第一天就拿到了offer,可是与此而来的担忧反而更加严重了,躺在床上就在想,如果...原创 2019-08-28 11:06:17 · 587 阅读 · 0 评论 -
Docker部署网站之后映射域名
Docker中部署tomcat相信大家也都知道,不知道的可以google 或者bing 一下。这里主要是为了记录在我们启动容器之后,tomcat需要直接定位到网站信息,而不是打开域名之后,还得加个blog后缀才能访问到我们的网站首页。 Docker exec -it [容器id] bash 进到/usr/local/tomcat/conf/ 修改 server.xml。 在我们安装完...原创 2019-08-14 20:58:33 · 3242 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 21. 系统错误汇总
广告系统学习过程中问题答疑博客园### [Eureka集群启动报错](https://www.cnblogs.com/zhangpan1244/p/11248030.html#4324235)Answer因为Eureka在集群启动过程中,会连接集群中其他的机器进行数据同步,在这个过程中,如果别的服务还没有启动完成,就会出现Connection refused: connect...原创 2019-08-19 20:23:34 · 310 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 15. Binlog 增量准备
MySQL Binlog简介 什么是binlog? 一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中。 binlog 的作用? 最主要有3个用途: - 数据复制(主从同步) > Mysql 的Master-Slave协议,让Slave可以通过监听binlog实现数据复制,达到数据一致性目的 ...原创 2019-08-10 08:10:05 · 927 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 12. 广告索引介绍
索引设计介绍 在我们广告系统中,为了我们能更快的拿到我们想要的广告数据,我们需要对广告数据添加类似于数据库index一样的索引结构,分两大类:正向索引和倒排索引。 正向索引 通过唯一键/主键生成与对象的映射关系。 比如,我们从数据库中查询数据的时候,根据数据主键ID查询当前记录,其实就是一个正向索引的过程。 根据这个描述,很明显,我们的正向索引适用于推广...原创 2019-08-06 21:45:34 · 394 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 6. Service实现&Zuul配置&Test
[Spring cloud 一步步实现广告系统] 6. Service实现&Zuul配置&Test原创 2019-07-29 19:51:05 · 896 阅读 · 0 评论 -
[Java 开发利器Lombok] 常用注解演示
[Java 开发利器Lombok] 常用注解演示原创 2019-07-24 23:04:55 · 829 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 7. 中期总结回顾
[Spring cloud 一步步实现广告系统] 7. 中期总结回顾原创 2019-07-29 23:23:30 · 853 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 8. 检索系统配置&依赖
[Spring cloud 一步步实现广告系统] 8. 检索系统配置&依赖原创 2019-07-30 21:37:13 · 841 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 9. 主类和配置文件
[Spring cloud 一步步实现广告系统] 9. 主类和配置文件原创 2019-07-30 21:56:03 · 852 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 2. 配置&Eureka服务
[Spring cloud 一步步实现广告系统] 配置&Eureka服务原创 2019-07-26 07:42:07 · 927 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 1. 业务架构分析
[Spring cloud 一步步实现广告系统] 业务架构分析原创 2019-07-26 07:43:09 · 555 阅读 · 0 评论 -
[Spring-Cloud-Alibaba] Sentinel 规则持久化(Nacos configuration)
在之前的练习中,只要应用重启,就需要重新配置,这样在我们实际的项目是非常不实用的,那么有没有办法把我们配置的规则保存下来呢?答案是YES,那么接下来,给大家来介绍如何将Sentinel规则持久化。Document: 传送门File Datasource(文件存储) - Pull 模式 - Push 模式Nacos configurationApolloFi...原创 2019-07-22 20:12:03 · 827 阅读 · 2 评论 -
[Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Port,然后再去调用API。本节课我们使用更简单的方式来实现,使用声明式的Web服务客户端Feign,我们只需要使用Feign来声明接口,利用注解来进行配置就可以使用了,是不是很简单?实际工作中,我们也...原创 2019-08-04 23:07:30 · 314 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用
[Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用原创 2019-07-31 21:23:07 · 881 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 3. 网关路由
[Spring cloud 一步步实现广告系统] 3. 网关路由原创 2019-07-26 21:47:12 · 862 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 4. 通用代码模块设计
[Spring cloud 一步步实现广告系统] 4. 通用代码模块设计原创 2019-07-27 20:22:39 · 901 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 13. 索引服务编码实现
上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护。因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能。 我们来定义一个接口,来接收所有index的增删改查操作,接口定义一个范型,来接收2个参数,K代表我们索引的健值,V代表返回值。 /** * IIndexAware for 实现广告索引的增删改查 * * ...原创 2019-08-07 23:05:41 · 850 阅读 · 0 评论 -
[JVM 相关] Java 新型垃圾回收器(Garbage First,G1)
) HotSpot 垃圾收集器实现 Serial Collector(串型收集器) > 使用场景,大多数服务器是单核CPU。 > > 适用收集场景:1. 新生代收集(Young Generation Collection)2. 老年代收集(Old Generation Collection) Para...原创 2019-08-05 20:09:47 · 289 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 5. 投放系统配置 启动 实体类
[Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类原创 2019-07-28 20:00:32 · 904 阅读 · 0 评论 -
[Spring cloud 一步步实现广告系统] 14. 全量索引代码实现
上一节我们实现了索引基本操作的类以及索引缓存工具类,本小节我们开始实现加载全量索引数据,在加载全量索引数据之前,我们需要先将数据库中的表数据导出到一份文件中。Let's code. 1.首先定义一个常量类,用来存储导出文件存储的目录和文件名称 因为我们导出的文件需要在搜索服务中使用到,因此,我们将文件名 & 目录以及导出对象的信息编写在mscx-ad-commom项目中。...原创 2019-08-08 22:45:36 · 831 阅读 · 0 评论 -
使用maven快速入门
使用maven快速入门原创 2019-07-23 19:36:16 · 262 阅读 · 0 评论