这个用户很懒,还没有个人简介
私信
主帖 21
回帖
视频
提问
回答
资源
专栏
很多年前,读了子柳老师的《淘宝技术这十年》。这本书成为了我的架构启蒙书,书中的一句话像种子一样深埋在我的脑海里:“好的架构是进化来的,不是设计来的”。2015年,我加入神州专车订单研发团队,亲历了专车数据层「架构进化」的过程。这次工作经历对我而言非常有启发性,也让我经常感慨:“好的架构果然是一点点进化来的”。1单数据库架构产品初期,技术团队的核心目标是:“快速实现产品需求,尽早对外提供服务”。彼时的...
2022-05-17 17:46:21 138浏览 0点赞 0回复 0收藏
5从SQLServer到MySQL业务依然在爆炸增长,每天几十万订单,订单表数据量很快将过亿,数据库天花板迟早会触及。订单分库分表已成为技术团队的共识。业界很多分库分表方案都是基于MySQL数据库,专车技术管理层决定先将订单库整体先从SQLServer迁移到MySQL。迁移之前,准备工作很重要:1.SQLServer和MySQL两种数据库语法有一些差异,订单服务必须要适配MySQL语法。2.订单orderid是主键自增,但在分布式场景中并不合适,需要将订单i...
2022-05-17 17:46:15 132浏览 0点赞 0回复 0收藏
阅读一篇「定时任务框架选型」的文章时,一位网友的留言电到了我:我看过那么多所谓的教程,大部分都是教“如何使用工具”的,没有多少是教“如何制作工具”的,能教“如何仿制工具”的都已经是凤毛麟角,中国软件行业,缺的是真正可以“制作工具”的程序员,而绝对不缺那些“使用工具”的程序员!......”这个业界最不需要的就是“会使用XX工具的工程师”,而是“有创造力的软件工程师”!业界所有的饭碗,本质就是“有创造力...
2022-05-17 17:46:06 184浏览 0点赞 0回复 0收藏
4中心化流派中心化的原理是:把调度和任务执行,隔离成两个部分:调度中心和执行器。调度中心模块只需要负责任务调度属性,触发调度命令。执行器接收调度命令,去执行具体的业务逻辑,而且两者都可以进行分布式扩容。4.1MQ模式先谈谈我在艺龙促销团队接触的第一种中心化架构。调度中心依赖Quartz集群模式,当任务调度时候,发送消息到RabbitMQ。业务应用收到任务消息后,消费任务信息。这种模型充分利用了MQ解耦的特性,调度中...
2022-05-17 17:45:58 251浏览 0点赞 0回复 0收藏
3后端配置后端配置我尝试过两种方式,经过两个月的测试,都能非常稳定的运行。◆MND推荐的Nginx配置;◆SpringBoot自带CorsFilter配置。▍MND推荐的Nginx配置Nginx配置相当于在请求转发层配置。location{if($requestmethod'OPTIONS'){addheader'AccessControlAllowOrigin''';addheader'AccessControlAllowMethods''GET,POST,OPTIONS';CustomheadersandheadersvariousbrowsersshouldbeOKwithbutaren'taddheader'AccessControlAll...
2022-05-17 17:44:06 203浏览 0点赞 0回复 0收藏
跨域,对后端工程师来说,可谓既熟悉又陌生。这两个月我以架构师的角色参与一款教育产品的孵化,有了一段难忘的跨域之旅。写这篇文章,我想分享我在跨域这个知识点上的经历和思考,希望对大家有所启发。1遇见跨域产品有多端:机构端,局方端,家长端等。每端都有独立的域名,有的是在PC上访问,有的是通过微信公众号来访问,有的是扫码后H5展现。接入层调用的接口域名统一使用api.training.com这个独立的域名,通过Nginx来配置...
2022-05-17 17:44:01 289浏览 0点赞 0回复 0收藏
最近负责教育类产品的架构工作,两位研发同学建议:“团队封装的Redis客户端可否适配SpringCache,这样加缓存就会方便多了”。于是边查阅文档边实战,收获颇丰,写这篇文章,想和大家分享笔者学习的过程,一起品味SpringCache设计之美。1硬编码在学习SpringCache之前,笔者经常会硬编码的方式使用缓存。举个例子,为了提升用户信息的查询效率,我们对用户信息使用了缓存,示例代码如下:AutowireprivateUserMapperuserMapper;Au...
2022-05-17 17:29:39 177浏览 0点赞 0回复 0收藏
3入门例子首先我们先创建一个工程springcachedemo。caffeine和Redisson分别是本地内存和分布式缓存Redis框架中的佼佼者,我们分别演示如何集成它们。3.1集成caffeine3.1.1maven依赖<dependency><groupId>org.springframework.boot<groupId><artifactId>springbootstartercache<artifactId><dependency><dependency><groupId>com.github.benmanes.caffeine<groupId><artifactId>caffeine<artifactId><version>2.7.0<version><dep...
2022-05-17 17:29:28 267浏览 0点赞 0回复 0收藏
4自定义二级缓存4.1应用场景笔者曾经在原来的项目,高并发场景下多次使用多级缓存。多级缓存是一个非常有趣的功能点,值得我们去扩展。多级缓存有如下优势:1.离用户越近,速度越快;2.减少分布式缓存查询频率,降低序列化和反序列化的CPU消耗;3.大幅度减少网络IO以及带宽消耗。进程内缓存做为一级缓存,分布式缓存做为二级缓存,首先从一级缓存中查询,若能查询到数据则直接返回,否则从二级缓存中查询,若二级缓存中可以查询...
2022-05-17 17:29:18 174浏览 0点赞 0回复 0收藏
谈起消息队列,内心还是会有些波澜。消息队列,缓存,分库分表是高并发解决方案三剑客,而消息队列是我最喜欢,也是思考最多的技术。我想按照下面的四个阶段分享我与消息队列的故事,同时也是对我技术成长经历的回顾。◆初识:ActiveMQ◆进阶:Redis&RabbitMQ◆升华:MetaQ◆钟情:RocketMQ1初识ActiveMQ1.1异步&解耦2011年初,我在一家互联网彩票公司做研发。我负责的是用户中心系统,提供用户注册,查询,修改等基础功能。用...
2022-05-17 17:28:17 217浏览 0点赞 0回复 0收藏
3升华MetaQMetamorphosis的起源是我从对linkedin的开源MQ&ndash;现在转移到apache的kafka的学习开始的,这是一个设计很独特的MQ系统,它采用pull机制,而不是一般MQ的push模型,它大量利用了zookeeper做服务发现和offset存储,它的设计理念我非常欣赏并赞同,强烈建议你阅读一下它的设计文档,总体上说metamorphosis的设计跟它是完全一致的。MetaQ的作者庄晓丹3.1惊艳消费者模型2015年,我主要从事神州专车订单研发工作。MetaQ...
2022-05-17 17:28:06 186浏览 0点赞 0回复 0收藏
GridFS是用于存储和检索超过16MB大小限制的BSON文档文件的规范。注意GridFS不支持多文档事务相较于将一个文件存储在单条文档中,GridFS将文件分为多个部分或块[1],并将每个块存储为单独的文档。默认情况下,GridFS使用的块默认大小为255kB;也就是说,除最后一个块,GridFS会将文件划分为255kB的块。最后一个块只有必要的大小。同样,最后的那个块也不会大于默认的块大小,仅使用所需的空间以及一些其他元数据。GridFS使用两个...
2022-04-29 16:35:43 165浏览 0点赞 0回复 0收藏
如今,数字化作为企业这座大楼中的“钢筋水泥”,俨然成为企业发展的必要“基础设施”。随着数据资产在未来竞争中扮演着越来越重要的角色,各行业纷纷布局数字化转型,应用服务和数据库数量由此不断增加,基于新兴数据库的应用系统和微服务也开始面临数据互通困境,孤岛问题日益凸显。从横向看,多个应用系统间彼此不通,难于管理;纵向上,企业未来业务与陈旧技术栈间的不可调和矛盾。数据孤岛环立,数据难以集成,数据应用的...
2022-04-29 16:15:17 155浏览 0点赞 0回复 0收藏
背景ApacheShardingSphere作为践行DatabasePlus理念的数据服务平台,其包含数据分片、读写分离、数据加密、影子库、分布式事务、弹性伸缩等多种数据管理功能。当ApacheShardingSphere应用于实际生产中,用户往往需要对其性能进行监控,并结合业务分析定位出现的异常问题。我们知道APM(应用性能监控)是通过对系统可观察性数据进行采集、存储和分析,进行系统的性能监控与诊断,主要功能包括性能指标监控、调用链分析,应用拓扑...
2022-04-19 13:54:03 183浏览 0点赞 0回复 0收藏
背景ApacheShardingSphere基于用户的实际使用场景,为用户打造了多种实用功能,包括数据分片、读写分离等。在数据分片功能中,ApacheShardingSphere提供了标准分片、复合分片等多种实用的分片策略,在各种分片策略中,用户又可以配置相关分片算法,从而解决数据分片的问题。在读写分离功能中,ShardingSphere为用户提供了静态和动态的两种读写分离类型以及丰富的负载均衡算法以满足用户实际需求。可以看到ShardingSphere的分片...
2022-04-19 13:32:22 114浏览 0点赞 0回复 0收藏
本篇文章主要从项目中实际场景出发,讲解分库分表等功能在日常运维中遇到的问题,以及ShardingSphereProxy对应的解决方案,版本号:v5.1.0。如无特别声明,以下示例中的数据库指MySQL。一、这个项目做什么ShardingSphereProxy,可以让用户像使用原生数据库一样使用ApacheShardingSphere。了解一项技术的开始,一般从官网开始。先来看一看官网对ShardingSphereProxy的定义是什么样的:定位为透明化的数据库代理端,提供封装了数...
2022-04-19 13:03:50 188浏览 0点赞 0回复 0收藏
背景随着业务的快速发展,数据的不断膨胀,流量负载的增加,业务系统遇到了强烈的挑战,对数据库系统可扩展性提出了强烈的诉求。Oracle、MySQL、SQLServer、PostgreSQL传统单机数据库在线扩展上的问题日益凸显。为了解决扩展问题,出现了可水平扩展的分布式数据库,于是分布式事务问题成为了必须面对的问题。在这种背景下,ShardingSphere提供了一套分布式数据库增强计算引擎,通过可插拔架构构建基于数据库之上的生态系统,提...
2022-04-19 12:43:04 235浏览 0点赞 0回复 0收藏
相信大家在网上抢购时遇到过网页无法正常访问的情况,一部分原因可能是数据库无法很好地应对不断增加的并发访问。如何有效地解决数据库现有的这些缺陷呢?数据分片是一个可选的方案。本篇文章将为大家解读由重庆大学和SphereEx实验室合作的、发表在CCFA类数据库顶级会议ICDE2022上的论文《ApacheShardingSphere:AHolisticandPluggablePlatformforDataSharding》。问题背景随着数据量的不断增加以及人们对数据需求的不断增长,...
2022-04-17 12:02:15 186浏览 0点赞 0回复 0收藏
京东白条的快速发展满足了当前人们日益增长的消费需求。在京东商城上用京东白条来支付,已经成为一大批用户的消费习惯,更是在某种意义上成为了京东对外的『标签』。而作为一家互联网金融消费平台,京东白条的后台技术团队更是不容忽视的存在。而其也正是支撑京东白条自2014年初上线伊始,至今服务数亿用户的最终根源所在。正是京东白条技术团队多年的努力,才造就了当前京东白条的『土生土长』,但具有京东白条特色的金融级数...
2022-04-16 19:52:07 138浏览 0点赞 0回复 0收藏
什么是全链路压测随着互联网行业的快速发展,业务也进入了快速扩张阶段,多变的用户需求对整个系统的稳定性冲击可想而知。比如外卖平台大量用户产生的订单集中分布在中午和傍晚两个时间段,再比如电商平台的购物节、秒杀活动等。每种业务都由一系列不同的业务系统来提供服务,每个业务系统都分布式地部署在不同的机器上。“流量规划”既能保障系统稳定性、又能节约成本对于技术团队来说是一重大难题,为了精准地获取到单台机器...
2022-04-16 19:28:46 104浏览 0点赞 0回复 0收藏
获得成就
已积累 876 人气
获得 0 个点赞
获得 0 次收藏