随笔分类 - Java 中间件
Java 开发中使用的一些主流中间件技术。
摘要:
本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用场景,例如常见的 String 类型 Key-Value、对时效性要求高的场景、Hash 结构的场景以及对实时性要求高的场景等,全面涵盖了 Redis 中所有的 5 种基本类型。
阅读全文

摘要:
RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。
作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。
阅读全文

摘要:
在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用户量大的互联网项目,经常会使用到 Redis 分布式缓存作为解决高并发的基本工具。但在使用过程中也有一些潜在的问题是必须要考虑的,比如:数据一致性、缓存穿透和雪崩、高可用集群等等。
阅读全文

摘要:
在日常项目开发中,可能会遇到使用 ES 做关键词搜索的场景,但是一般来说业务数据是不会直接通过 CRUD 写进 ES 的。
因为这可能违背了 ES 是用来查询的初衷,数据持久化的事情可以交给数据库来做。那么,这里就有一个显而易见的问题:ES 里的数据从哪里来?
本文介绍的就是如何将 MySQL 的表数据迁移到 ES 的全过程。
阅读全文

摘要:
ElasticSearch 简称 es,是一个开源的高扩展的分布式全文检索引擎,目前最新版本已经到了8.11.x了。
它可以近乎实时的存储、检索数据,且其扩展性很好,是企业级应用中较为常见的检索技术。
下面主要记录学习 ElasticSearch7.x 的一些基本结构、在Spring Boot 项目里基本应用的过程,在这里与大家作分享交流。
阅读全文

摘要:
Redis 是目前互联网后端的热门中间件之一,在许多方面都有深度的应用,作为后端开发熟练掌握该技术是十分有必要的。
Redis 的五种数据类型是:1、String(字符串);2、Hash(哈希);3、List(列表);4、Set(集合);5、Sort Set (有序集合)。其余的用的比较少,本文暂不涉及。其中,String(字符串)是 Redis 中最基本的数据类型,一个 Key 对应一个 Value。
阅读全文

摘要:
不知道大家在开发的时候,有没有想过(遇到)这些问题:
1、大家都是按需要开发,都是一个职级的同事,为什么有些人的思路就很清晰,代码也很整洁、易懂;而自己开发,往往不知道怎么下手设计,写完了也是bug一堆,codeReview的时候更是频频被怼...
2、感觉每天都是CURD,写重复的代码,做类似的需求,怎么才能提高自己的水平?
3、每每看到大佬的代码,或者优秀框架的源码,总是似懂非懂,怀疑自己是不是缺少了哪些知识?
阅读全文

摘要:在最近的互联网项目开发中,需要获取用户的访问ip信息,并进行后续统计分析。
这些ip信息是在第三方的服务中分组存放的,且每个分组都都是分页(1页10条)存放的,如果一次性访问大量的数据,API很有可能会报错。
怎样通过HTTP的方式去获取到信息,并且模拟浏览器每页每页获取10条的信息,且持久到数据库中,就成了当下亟需解决的问题。
阅读全文
摘要:
在Java Spring 项目中,数据与远程数据库的频繁交互对服务器的内存消耗比较大,而Redis的特性可以有效解决这样的问题。
Redis的几个特性:
1. Redis 以内存作为数据存储介质,读写数据的效率极高;
2. Redis 支持 key-value 等多种数据结构,提供字符串,哈希,列表,队列,集合结构直接存取于内存,可持久化(RDB 和 AOF);
3. 支持主从模式,可以配置集群。
阅读全文

摘要:
mybatis plus 是一个 mybatis的增强工具,在其基础上只做增强不做改变。作为开发中常见的第三方 JDBC 组件,掌握并应用在项目中可以节省开发时间,提高开发效率。
阅读全文
