摘要: 需求背景 需求一:SpringMVC构建的微服务系统,数据库对日期的存储是Long类型的时间戳,前端之前是默认使用Long类型时间,现在前端框架改动,要求后端响应数据时,Long类型的时间自动变成标准时间格式(yyyy-MM-dd HH:mm:ss)。 涉及到这个转换的范围挺大,所有的实体表都有创建 阅读全文
posted @ 2021-01-28 10:48 清茶豆奶 阅读(2774) 评论(0) 推荐(0) 编辑
摘要: 背景介绍 SpringMVC搭建的微服务系统,后端数据库对时间类型的存储使用的是Long类型,而前端框架倾向于使用yyyy-MM-dd HH:mm:ss这种标准显示格式,前端JSON格式的请求报文与后台的接口交互都需要进行格式转换,这部分转换功能由后台实现。 使用时我们发现,前端定义的JSON请求, 阅读全文
posted @ 2020-08-11 08:03 清茶豆奶 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 需求背景 spring cloud搭建微服务系统,每个业务模块使用swagger开放文档接口查询,在业务网关模块提供swagger文档聚合查询接口,可以通过选择业务模块分类查看。 框架选型、版本及主要功能 spring boot 2.1.6.RELEASE spring cloud Greenwic 阅读全文
posted @ 2020-08-09 08:31 清茶豆奶 阅读(1229) 评论(0) 推荐(0) 编辑
摘要: 背景 选用SpringCloud框架搭建微服务做业务后台应用时,会涉及到大量的业务状态值定义,一般常规做法是: 持久层(数据库)存储int类型的值 后台系统里用阅读性好一点儿的常量将int类型的值做一层映射 前端(app或浏览器)同样定义一套常量去映射这些关系 前端调用后台系统的接口时,使用常量定义 阅读全文
posted @ 2020-07-31 21:48 清茶豆奶 阅读(1200) 评论(0) 推荐(0) 编辑
摘要: 问题起源 使用SpringCloud构建项目时,使用Swagger生成相应的接口文档是推荐的选项,Swagger能够提供页面访问,直接在网页上调试后端系统的接口, 非常方便。最近却遇到了一个有点困惑的问题,演示接口示例如下(原有功能接口带有业务实现逻辑,这里简化了接口): /** * @descri 阅读全文
posted @ 2020-07-09 07:29 清茶豆奶 阅读(2457) 评论(0) 推荐(1) 编辑
摘要: 背景 以SpringCloud构建的微服务系统为例,使用前后端分离的架构,每个系统都会提供一些通用的请求参数,例如移动端的系统版本信息、IMEI信息,Web端的IP信息,浏览器版本信息等,这些参数可能放在header里,也可以放在参数里,如果这些参数需要在每个方法内声明定义,一来工作量太大,二是这些 阅读全文
posted @ 2020-07-08 07:32 清茶豆奶 阅读(1485) 评论(1) 推荐(0) 编辑
摘要: 概要 本篇继续讲解Elasticsearch集群部署的细节问题 集群重启问题 如果我们的Elasticsearch集群做了一些离线的维护操作时,如扩容磁盘,升级版本等,需要对集群进行启动,节点数较多时,从第一个节点开始启动,到最后一个节点启动完成,耗时可能较长,有时候还可能出现某几个节点因故障无法启 阅读全文
posted @ 2020-06-05 07:05 清茶豆奶 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 本篇开始介绍Elasticsearch生产集群的搭建及相关参数的配置 阅读全文
posted @ 2020-05-30 07:38 清茶豆奶 阅读(942) 评论(0) 推荐(1) 编辑
摘要: 概要 Elasticsearch在文档更新时默认使用的是乐观锁方案,而Elasticsearch利用文档的一些create限制条件,也能达到悲观锁的效果,我们一起来看一看。 乐观锁与悲观锁 乐观锁 ES默认实现乐观锁,所有的数据更新默认使用乐观锁机制。document更新时,必须要带上currenc 阅读全文
posted @ 2020-04-30 07:01 清茶豆奶 阅读(1303) 评论(0) 推荐(1) 编辑
摘要: 概要 本篇以实际案例为背景,介绍不同技术组件对数据建模的特点,并以ES为背景,介绍常用的联合查询的利弊,最后介绍了一下文件系统分词器path_hierarchy和嵌套对象的使用。 数据模型对比 实际项目中,电商平台系统常见的组合Java、Mysql和Elasticsearch,以基础的部门 员工实体 阅读全文
posted @ 2020-04-25 07:48 清茶豆奶 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 介绍聚合查询的内部原理,正排索引是如何建立的和优化的,fielddata的使用,最后简单介绍了聚合分析时如何选用深度优先和广度优先 阅读全文
posted @ 2020-04-17 08:07 清茶豆奶 阅读(2601) 评论(0) 推荐(0) 编辑
摘要: 前言 前面的案例使用standard、english分词器,是英文原生的分词器,对中文分词支持不太好。中文作为全球最优美、最复杂的语言,目前中文分词器较多,ik analyzer、结巴中文分词、THULAC、NLPIR和阿里的aliws都是非常优秀的,我们以ik analyzer作为讲解的重点,其它 阅读全文
posted @ 2020-03-28 10:56 清茶豆奶 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 主要介绍了相关性评分算法的基础知识,能够使用工具查看评分的详细过程,可以辅助解释一些困惑的现象,最后简单介绍了一下正排索引的应用场景 阅读全文
posted @ 2020-01-05 08:24 清茶豆奶 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: Ceph是什么? Ceph是一个开源的分布式存储系统,可大规模扩展、高性能、无单点故障,在普通的服务器上可以支持到PB级容量,商用机器上支持的容量可以达到EB级别。 Ceph的竞争力 市面上提供云存储的分布式系统如阿里云的OSS(底层存储框架为JindoFS),亚马逊的S3,Hadoop生态下的HD 阅读全文
posted @ 2022-09-30 10:43 清茶豆奶 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 概要 性能调优是系统架构里所有组件必不可少的话题,Elasticsearch也不例外,虽说Elasticsearch内的默认配置已经非常优秀,但这不表示它就是完美的,必要的一些实践我们还是需要了解一下。 开启慢查询日志 慢查询日志是性能诊断的重要利器,常规操作是设置慢查询的阀值,然后运维童鞋每天对慢 阅读全文
posted @ 2020-07-08 07:37 清茶豆奶 阅读(592) 评论(0) 推荐(1) 编辑
摘要: 概要 索引是我们使用Elasticsearch里最频繁的部分日常的操作都与索引有关,本篇从运维人员的视角,来玩一玩Elasticsearch的索引操作。 基本操作 在运维童鞋的视角里,索引的日常操作除了CRUD,还是打开关闭、压缩、alias重置,我们来了解一下。 创建索引 [esuser@elas 阅读全文
posted @ 2020-06-22 07:33 清茶豆奶 阅读(510) 评论(1) 推荐(0) 编辑
摘要: 前言 生产环境中运行的组件,只要有数据存储,定时备份、灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份、恢复方案,我们来了解一下。 概要 本篇介绍Elasticsearch生产集群数据的数据备份、恢复和升级的常规操作。 curl命令 curl 阅读全文
posted @ 2020-06-12 07:19 清茶豆奶 阅读(815) 评论(0) 推荐(0) 编辑