首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
梦之痕
掘友等级
后台研发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
20
文章 20
沸点 0
赞
20
返回
|
搜索文章
赞
文章( 20 )
沸点( 0 )
服务如何优雅关闭
很多时候服务都有平滑退出的需求,例如RPC服务在停止之后需要从注册服务摘除节点、从消息队列已经消费的消息需要正常处理完成等。一般地我们希望能让服务在退出前能执行完当前正在执行的任务,这个时候就需要我们在JVM关闭的时候运行一些清理现场的代码。 JDK提供了Java.Runtim…
服务限频限次的场景方案
在设计服务的时候,我们会遇到不同的限速限频需求。根据不同的需求场景,我们会有对应的解决方案。 使用Guava的RateLimiter工具类,基于令牌桶算法实现流量限制。 一般地RateLimiter提供的是单机的限流方案。若需要实现服务整体的QPS流量控制,可以基于Redis实…
分页查询中的问题
我们项目中经常会遇到数据库分页查询的场景,如查看用户的历史订单、查看用户的联系人列表等。一般在用户全量数据不可控的时候,我们都会考虑通过分页的方式来获取数据。一方面数据库查询性能可以得到保证,另一方面也可以减少客户端数据的传输。 在数据库分页查询也有些场景需要特别注意,否则会容…
数据库锁机制
脏读、不可重复读和幻读都是数据库读一致性问题,需要由数据库提供一定的事务隔离机制来解决。 解决写-写冲突问题。在读取数据前,对其加锁,防止其它事务对该数据进行修改。 往往依靠数据库提供的锁机制。 大多是基于数据版本记录机制来实现。 解决读-写冲突问题。不用加锁,通过一定机制生成…
分布式会话跟踪的简单应用
在业务场景中一般由商家端服务维护商家和商品等信息,用户端服务从商家端服务同步各种业务数据。同步到的数据会通过接口调用实时扩散到用户端其它线上服务使用。线上服务一般会将商家信息存储在本地内存,这样数据访问效率会更高。 线上服务都是使用内存数据。如果数据没有实时同步正确,这对商家和…
数据库事务和MVCC多版本并发控制
一个事务必须被视为一个不可分割的最小工作单位,整个事务中的所有操作要么全部提交成功,要么全部失败回滚。 数据库总是从一个一致性状态转换到另一个一致性状态,事务执行之前和执行之后都必须处于一致性状态。 通常来说,一个事务所做的修改在最终提交之前,对其它事务是不可见的。关于事务的隔…
订单服务的设计思考
最近由于项目业务原因,需要为系统设计虚拟币的充值及消费功能。公司内已经有成熟的支付网关服务,所以重点变成了如何设计项目内虚拟币的充值流程,让整个充值流程都实现幂等,确保用户的虚拟币余额不会重复增加或扣减。 用户购买商品,商户后台请求生成支付订单并返回相关信息到客户端。 客户端根…
服务监控-友好地集成Metrics到项目中
Metrics的基本介绍可以参考之前的文章:Metrics-服务指标度量。 本文简单介绍下如何将Metrics监控集成到我们的项目中。 内存、线程、硬盘、服务GC情况等基本信息是我们关心的核心指标。我们可以考虑通过Gauge指标项把这些机器指标做统一收集。 请求频率及耗时是我们…
面试最让你手足无措的一个问题:你的系统如何支撑高并发?【石杉的架构笔记】
大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历过一些真正有高并发系统的锤炼罢了。 因为没有过相关的项目经历,所以就没法从真实的自身体会和经验中提炼出一套回答,然后系统的阐述出来自己复杂过的系统如何支撑高并发的。 所以,这篇文章就从这个角…
教你用认知和人性来做最棒的程序员
狭义的技术是指java,php,android,spring,vue等的掌握和实践,它们只是帮助你提升认知的工具,却绝不等同于认知。 认知:flutter强化了跨平台的生产效率,且性能比前端框架更好。 解释:很多同学会想,怎么第一句感觉就像废话一样,人家官方文档也是这么写的,这…
下一页
个人成就
文章被点赞
405
文章被阅读
74,163
掘力值
1,992
关注了
18
关注者
1,308
收藏集
1
关注标签
8
加入于
2018-12-21