Zwx. Blog

Expecting, But Knowing, There Is No Miracle.

工程师文化

—— 摘自公司分享

坦诚相待,保持敬畏 何为坦诚:敢于讲出心里真实所想,讲道理,让别人能明白 坦诚相待:对自己坦诚,对上下级同事坦诚,对讨论方案坦诚,用真诚收获理解,不怕得罪人,不怕丢面子,只为把事做好,只为团队变得更好 保持敬畏:对设计方案敬畏,对代码敬畏,对流程敬畏,对bug敬畏,对线上问题敬畏,对产品敬畏,对我们的用户敬畏,对我们不熟悉的事物敬畏,对我们不熟悉的人敬畏,对公司的价值观敬畏,永远保持一颗敬...

使用okHttp和Jsoup的Java爬虫实现

—— okHttp 3.11 + jsoup 1.10.3 + fastjson

话不多说,直接上代码: 依赖 ... <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.1...

ElasticSearch在SpringBoot2.0中的使用

—— esJPA2.16 + mysql5.7 + kafka2.1.1 + elasticSearch5.6.16

前言: 最近在学习全文本搜索引擎ElasticSearch,记录一下使用SpringBoot2.0整合es的过程: 写了一个简单的接口,向mysql中插入数据的时候给kafka发送消息,消费者接收到消息后解析消息内容,并异步创建es索引,保存到es中。 然后所有的查询接口都查es中的内容,达到更好的搜索效果,并减轻mysql压力。 项目结构: 项目依赖 ...

SpringDataJPA自定义方法约定

——可用于mysql,es等

Spring Data 的另一个强大功能,是根据方法名称自动实现功能。 比如:你的方法名叫做:findByTitle,那么它就知道你是根据title查询,然后自动帮你完成,无需写实现类。 当然,方法名称要符合一定的约定: Keyword Sample ...

Java线程中interrupt、interrupted和isInterrupted的区别

——记录一下加深印象

interrupt 使一个线程的中断状态为true,但是不立即中断这个线程。 源码: /** * Interrupts this thread. * * <p> Unless the current thread is interrupting itself, which is * alway...

Mysql的安装、主从复制

——Mysql5.7.22+CentOS7.4

前言    最近在学习高可用性系统的相关知识,上周配置了简单的nginx负载均衡,缓解了应用服务器的压力,但是多个应用服务器用的还是同一个数据库,这样会使数据库的压力增大,效率变低。 而优化数据库,除了加硬件、sql语句优化和索引之外,就是多数据源了。这里我记录一下mysql多数据源的配置: 一个主库一个从库,写(增删)操作写入主库,从库同步主库的内容,读(改查)操作从从库读。 安装M...

使用JedisPool连接Redis

——SpringBoot2.1.1+Redis4.0.1

为什么要使用连接池?   上一篇安装和简单的使用了Redis,而Redis作为缓存数据库理论上和MySQL一样需要客户端和服务端建立起来连接进行相关操作, 使用MySQL的时候相信大家都会使用一款开源的连接池,例如C3P0.因为直连会消耗大量的数据库资源,每一次新建一个连接之,使用后再断开连接,对于频繁访问的场景,这显然不是高效的。假设Redis服务器与客户端分处在异地,虽然基于内存的Re...

Redis的安装和使用

——CentOS7+Redis4.0.1

前言   上一篇写到在Nginx配置负载均衡服务器集群时会出现session不一致的问题,其中解决问题的最好方案就是session外置,集中管理,放在缓存中。而缓存最常用的有Memcache和Redis,两者都可以看做是key/value型的nosql数据库, 但是Memcache的value只能存String类型,而Redis的value里可以存5种数据类型,我之前又在windows环...

Nginx集群的session不一致性问题

——出现原因与解决方案

Session 简单的说就是保存用户登陆信息和唯一标识的一个东西 演示 修改接口返回信息,多返回一条sessionId: public class HelloController { @ApiOperation(value = "这是一个作用为Hello的类",notes = "备注说明") @RequestMapping(value = "/hello", method...

Nginx反向代理和负载均衡的原理和实例

——在两台学生机上的实际例子

Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的...