自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王卫东的博客

wangweidong9191@foxmail.com

原创 Elasticsearch5基于completion suggester实现提示词(类京东淘宝)

支持拼音首字母,全拼,和中文匹配提示,如下

2018-07-02 16:18:21 4124 12

原创 elasticsearch 5.x Delete By Query API(根据条件删除)

之前在 2.X版本里 这个Delete By Query功能被去掉了 因为官方认为会引发一些错误 如需使用 需要自己安装插件。 bin/plugin install delete-by-query 需要使用时 DELETE /索引名/需要清空的type/_query { "qu...

2017-12-15 14:40:47 24635 7

转载 腾讯:互联网金融行业HBase实践与创新

徐春明——腾讯金融与支付数据库平台组负责人,在数据库行业有超过10年的工作经验,擅长MySQL数据库运维、内核开发。近期深入研究HBase相关技术,负责HBase技术在腾讯支付场景的落地。 摘要: 本次分享讲述的是关系型数据库在腾讯金融支付场景下遇到的挑战,选择HBase背后的主要原因以及我们...

2020-05-25 18:09:01 33 0

转载 大众点评订单系统分库分表实践

原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务...

2020-05-25 17:20:14 113 0

转载 网易HBase实践

文根据网易杭州研究院技术专家范欣欣在中国HBase技术社区第3届 MeetUp 杭州站分享的《网易HBase实践》编辑整理而成。 今天主要从四个方面和大家分享HBase,HBase是整个Hadoop里面非常重要的组件,首先讲一下HBase在大数据领域的定位,第二个方面就是网易在HBase方面...

2020-05-25 17:11:16 20 0

转载 从MySQL到HBase:分库分表方案转型的演进

移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 订单表 交易流水表 以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。事实上MySQL单表可以存储10亿...

2020-05-25 17:07:59 21 0

转载 MongoDB、ElasticSearch、Redis、HBase比较

MongoDB、ElasticSearch、Redis、HBase,以上四种数据库是当今NoSQL中最火爆的几款,掌握了它们,你基本就能cover住互联网开发中的绝大多数数据存储需求。这里还想强调的一点是,如同买衣服一样,没有最好的数据库,只有最适合你的应用场景的数据库,因此选用一款数据库前一定要...

2020-05-25 16:35:07 24 0

转载 交易中台架构设计:海量并发高扩展,新业务秒级接入

今天我将从以下这三方面,来和大家分享一些海量高并发的经验: 中台模式和微服务架构到底有什么样的关系 海量并发的业务中台架构如何设计与实践 秒级新业务接入的交易中台如何设计和实践 一、中台模式与微服务架构的关系 现在大家应该都知道,中台最早是由芬兰一家著名的游戏公司Supercell提出的,...

2020-05-19 14:36:08 41 0

转载 腾讯Elasticsearch海量规模背后的内核优化剖析

作者:黄华,腾讯 TEG 云架构平台部研发工程师 背景 Elasticsearch 在腾讯内部广泛应用于日志实时分析、结构化数据分析、全文检索等场景,目前单集群规模达到千级节点、万亿级吞吐,同时腾讯联合 Elastic 公司在腾讯云上提供了内核增强版 ES 云服务。海量规模、丰富的应用场景推动...

2020-05-12 09:24:05 70 0

转载 Mysql分表和分区的区别、分库和分表区别

分表和分区的区别: 一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看:mysql分表的3种方法。 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及...

2020-05-09 17:02:32 78 0

转载 MySQL分区与传统的分库分表

传统的分库分表 传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都是普通的表和库。 分库 分库的原因 首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上,database只起到一个namespace的作用。database中的表文件存储在一...

2020-05-09 15:10:01 43 0

转载 代码检查又一利器:ArchUnit

Code Review总是让人又爱又恨,它可以帮助我们在提测之前发现很多代码中比较“丢人”的问题,但是,Code Review通常会比写代码更加耗费精力,因为你需要理解别人的代码,而为了这一目的,往往需要很多次的沟通。 人们常说“见字如面”。我认为代码也是一样,看到一个人的代码,就会对这个人有一...

2020-04-30 15:38:48 48 0

转载 饿了么交易系统 5 年演化史

个人简介: 2014年12月加入饿了么,当时参与后台系统的研发(Walis+Javis=>Walle),主要面向客服和BD。 2015年5月开始接触订单系统的研发,7月负责订单研发组;度过单体应用到服务化这个阶段。 2016年初搭建订单的测试团队,订单拆分为正逆向后,主要负责正向和交付...

2020-04-29 09:14:10 558 0

转载 Hbase rowkey设计

hbase的rowkey设计决定了数据的分区和查询的方式,是使用hbase前一定要想清楚的,以下简单列举了设计hbase rowkey时需要考虑的问题 1. rowkey是唯一的吗? rowkey相同的记录在hbase里被认为是同一条数据的多个版本,查询时默认返回最新版本的数据,所以通常row...

2020-04-26 23:12:52 46 0

转载 HBase 宽表和高表

一、宽表和高表定义 HBase 中的表可以设计为高表(tall-narrow table) 和 宽表(flat-wide table): 宽表是指很多列较少行,即列多行少的表,一行中的数据量较大,行数少; 高表是指很多行较少列,即行多列少,一行中的数据量较少,行数大。 二、宽表和高表的优劣 ...

2020-04-26 23:08:25 59 0

转载 Hbase 设计与开发实战

Hbase 概述 大数据及 NoSQL 的前世今生 传统的关系型数据库处理方式是基于全面的 ACID 保证,遵循 SQL92 的标准表设计模式(范式)和数据类型,基于 SQL 语言的 DML 数据交互方式。长期以来这种基于关系型数据库的 IT 信息化建设中发展良好,但受制于关系型数据库提供的数...

2020-04-26 22:54:50 64 0

转载 HBase在滴滴出行的应用场景和最佳实践

背景 对接业务类型 HBase是建立在Hadoop生态之上的Database,源生对离线任务支持友好,又因为LSM树是一个优秀的高吞吐数据库结构,所以同时也对接了很多线上业务。在线业务对访问延迟敏感,并且访问趋向于随机,如订单、客服轨迹查询。离线业务通常是数仓的定时大批量处理任务,对一段时间内...

2020-04-26 22:46:45 56 0

转载 如何画好软件项目架构图?

导读:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能力。 接下来,分享自己和团队在画好架构图方面的理念和经验,希望对你有所帮助。 当我们想用一张或...

2020-04-22 17:52:29 143 0

转载 使用canal同步MySQL数据到ES的有序性保证

最近在做的项目中有用到canal实时同步MySQL的数据,并且写入es的场景,总结了一些心得,以备后查。 总体同步的流程图如下: MySQL-es process.png 链路中的环节稍微解释下: binlog MySQL的自身的操作日志,用来记录数据的变更操作及变更后的数据...

2020-04-18 21:12:25 403 0

转载 为什么选择使用 OKR 进行项目过程管理

一、OKR OKR 是一个目标管理框架,可以帮助领导者将他们的团队从 A 领导到 B。OKR 的一些好处包含改善焦点、提高透明度以及团队之间更好的一致性。由英特尔的 Andrew Grove 发明,后来由谷歌推广,在硅谷科技公司中广为人知,并被世界各地的许多组织采用。OKR 提供了一个简单的结构...

2020-03-30 10:38:56 77 0

转载 有赞亿级订单同步的探索与实践

1.1 同步现状 当前有赞订单同步流程及业务现状如图所示,采用了 ES+HBase(tip1)架构体系去解决搜索和详情的需求,利用 canal(tip2)将数据库变更写入到 mq 中,然后利用同步系统来解决相关数据同步问题,而后续下文中将叙述有赞订单同步面临的问题及应对方案。 二、同步 ...

2020-03-27 16:33:36 147 0

转载 有赞订单管理

有赞订单管理主要承接有赞所有订单搜索及详情展示功能,系统随着业务的不断发展经历了多次飞升之路。下面简单介绍下有赞订单管理系统的三生三世与“十面埋伏”。 第一世:凡人飞升小仙之路-分库分表 随着业务发展,单库单表所能承载的数据量局限性越发严重。历劫:单库单表数据量承载局限渡劫:分库分表分库分表的...

2020-03-27 15:46:56 183 0

转载 滴滴Elasticsearch多集群架构实践

Elasticsearch 是基于 Lucene 实现的分布式搜索引擎,提供了海量数据实时检索和分析能力。Elastic 公司开源的一系列产品组成的 Elastic Stack,可以为日志服务、搜索引擎、系统监控等提供简单、易用的解决方案。 滴滴 Elasticsearch 简介 滴滴 201...

2020-03-26 15:01:27 70 0

转载 唯品会 Dragonfly 日志系统的 Elasticsearch 实践

唯品会日志系统,承接了公司上千个应用的日志,提供了日志快速查询、统计、告警等基础服务,是保障公司技术体系正常运行必不可缺的重要系统之一。日均接入应用日志 600 亿条,压缩后大小约 40TB,大促时日志峰值流量达到每分钟 3 亿条。 唯品会日志系统,取名 Dragonfly,寓意像蜻蜓复眼一样,...

2020-03-26 14:54:54 91 0

转载 Elasticsearch冷热分离原理和实践

性能与容量之间的矛盾由来已久,计算机的多级存储体系就是其中一个经典的例子,同样的问题在Elasticsearch中也存在。为了保证Elasticsearch的读写性能,官方建议磁盘使用SSD固态硬盘。然而Elasticsearch要解决的是海量数据的存储和检索问题,海量的数据就意味需要大量的存储空...

2020-03-26 14:31:15 78 0

转载 ES水平扩容

怎样为我们的正在增长中的应用程序按需扩容呢? 当启动了第三个节点,我们的集群将会看起来如图1“拥有三个节点的集群——为了分散负载而对分片进行重新分配”所示。 图1. 拥有三个节点的集群——为了分散负载而对分片进行重新分配 Node 1和Node 2上各有一个分片被迁移到了新的Node 3节...

2020-03-25 18:04:55 88 0

转载 美团外卖订单中心的演进

美团外卖从2013年9月成交第一单以来,已走过了三个年头。期间,业务飞速发展,美团外卖由日均几单发展为日均500万单(9月11日已突破600万)的大型O2O互联网外卖服务平台。平台支持的品类也由最初外卖单品拓展为全品类。 随着订单量的增长、业务复杂度的提升,外卖订单系统也在不断演变进化,从早期一...

2020-03-25 14:30:58 113 0

转载 Elasticsearch性能优化总结

下面是对ES使用实践的一些经验总结,供大家参考;有些已经不太合适。 一、 硬件环境选择: 如果有条件,尽可能使用SSD硬盘, 不错的CPU。ES的厉害之处在于ES本身的分布式架构以及lucene的特性。IO的提升,会极大改进ES的速度和性能。 二、系统拓朴设计: ES集群在架构拓朴时,一般...

2020-03-24 17:57:39 66 0

原创 ElasticSearch5.X IK分词器使用

IK分词器使用 在创建mapping时,设置IK分词器,设置analyzer和search_analyzer。例: 1.create a index curl -XPUT http://localhost:9200/class 2.create a mapping curl -XPOS...

2020-03-24 09:59:50 1238 0

转载 ElasticSearch join连接查询

特别说明:文章所有内容基于ElasticSerch 5.5.3版本 ElasticSerch 的连接查询有两种方式实现 nested parent和child关联查询 nested 存储结构 nested的方式和其他字段一样,在同一个type里面存储,以数组的方式存储在 type里,格...

2020-03-23 17:59:11 45 0

转载 IDEA maven 多模块打包问题总结

在用IDEA构建maven多module项目时,碰到了一些问题,现在归纳总结如下。 假如一个maven项目下分为几个module,分别是不同的服务,以及common模块,结构如下: shopping ├── common ├── mail-service ├── order-service ...

2020-02-28 16:00:49 101 0

原创 validation自定义注解校验枚举类型

java validation内没有对枚举的校验工具,但是离散的枚举值校验确实是有必要的。javax.validation包提供了方便的自定义校验的入口,就是javax.validation.ConstraintValidator,故可以通过自定义校验枚举类型方式实现。 一、定义一个校验注解,类...

2020-02-21 09:16:49 114 0

转载 当前开源分布式任务框架的比较

最近有对分布式任务调度框架的选型,下面是个人整理的一个比较文档,供大家参考使用。分布式任务调度框架各有利弊,需根据实际需求决定使用。 框架名称 xxl-job elastic-job 简介 大众点评员工徐雪里于2015年发布的分布式任务调度平台,是一个轻量级分布式任务调度框...

2020-02-12 13:27:02 77 0

原创 PowerMock使用详解

1. PowerMock是什么? 2. PowerMock包引入 3. 重要注解说明 4. 示例 1. PowerMock是什么? PowerMock是一个Java模拟框架,用于解决测试问题。 举个例子,你在使用Junit进行单元测试时,并不想让测试数据进入数据库,怎么办?这个时候就可以...

2020-02-07 21:57:20 133 0

转载 idea中,提交本地项目到git,提示Push to origin/master was rejected错误解决方案

首先,我按照百度经验上的将本地项目上传到gitlab的操作本地项目上传git, 最后push到git的时候,出现了Push to origin/master was rejected的错误, 在确认自己git账户和地址都没出错的情况下, 在idea的terminl窗口中依次输入命令: gi...

2020-02-07 00:23:07 105 0

转载 maven:dependencies与dependencyManagement的区别

在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来。 1、DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建...

2020-02-06 23:19:53 42 0

转载 中台战略下的保险订单销售模式设计

作者在《保险趋势分析与保险中台数字化转型》文章里提到了保险业务系统中台化后保险商品化和订单化的销售模式,本文主要通过购物车、订单中心、微前端以及产品通道等技术手段,对保险企业实施中台战略后的保险订单化销售模式进行设计,形成可实施的方案。微前端相关技术文章详见《中台微服务了,那前端呢?》。 ...

2020-02-05 15:41:01 457 0

转载 基于DDD的微服务设计和开发实战

你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案。 本文是基于DDD的微服务设计和开发实战篇,通过借鉴领域驱动设计思想,指导微服务项目团队进行设计和开发(理论篇详见《当中台遇上DDD,我们该如何设计微服...

2020-02-03 19:25:04 322 0

转载 当中台遇上DDD,我们该如何设计微服务?

本文从几种常见的微服务架构设计模型出发,分析了在中台和微服务设计时需要关注哪些技术要点和设计原则?如何做到微服务的高内聚松耦合?如何处理好逻辑边界和物理边界?如何保证设计出来的是微服务而不是小单体?分布式架构应该关注哪些技术点?对于分布式架构的常见问题如何设计?微服务拆分的基本原则是什么? ...

2020-02-03 19:01:37 75 0

转载 领域驱动设计的实践 – CQRS & Event Sourcing

1、前言 领域驱动(Domain – Driven Design)设计的理念在于建立一系列既符合软件所处领域本身又适合软件分析开发需要的领域模型。命令查询与职责分离(Command Query Responsibility Segregation)和事件溯源(E、vent Sourcing)是为...

2020-01-22 18:11:24 124 0

提示
确定要删除当前文章?
取消 删除