首页
学习
活动
专区
工具
TVP
发布

蘑菇先生的技术笔记

专栏成员
75
文章
97655
阅读量
28
订阅数
分布式系统中的事务问题
在分布式系统、微服务架构大行其道的今天,服务间互相调用出现失败已经成为常态。如何处理异常,如何保证数据一致性,成为微服务设计过程中,绕不开的一个难题。 在不同的业务场景下,解决方案会有所差异,常见的方式有:
蘑菇先生
2020-10-15
4920
浅谈分布式计算的开发与实现(二)
接上篇,离线计算是对已经入库的数据进行计算,在查询时对批量数据进行检索、磁盘读取展示。 而实时计算是在数据产生时就对其进行计算,然后实时展示结果,一般是秒级。 举个例子来说,如果有个大型网站,要实时统计用户的搜索内容,这样就能计算出热点新闻及突发事件了。 按照以前离线计算的做法是不能满足的,需要使用到实时计算。
蘑菇先生
2018-07-24
3090
浅谈分布式计算的开发与实现(一)
分布式计算简单来说,是把一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。 目的在于分析计算海量的数据,从雷达监测的海量历史信号中分析异常信号(外星文明),淘宝双十一实时计算各地区的消费习惯等。
蘑菇先生
2018-07-24
4960
Redis高可用分布式内部交流(九)
这是上月在公司内部的一次分享,现把PPT及交流内容整理成博客。 高可用 高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CPU负载过高、内存溢出、自然灾害等不可预期的原因导致,在很多时候也称单点问题。 解决单点问题主要有2种方式: 主备方式 这种通常是一台主机、一台或多台备机,在正常情况下主机对外提供服务,并把数据同步到备机,当主机宕机后,备机立刻开始服务。 Redis HA中使用比较多的是keepalived
蘑菇先生
2018-05-21
7550
Redis分布式锁服务(八)
概述 在多线程环境下,通常会使用锁来保证有且只有一个线程来操作共享资源。比如: object obj = new object(); lock (obj) { //操作共享资源 } 利用操作系统提供的锁机制,可以确保多线程或多进程下的并发唯一操作。但如果在多机环境下就不能满足了,当A,B两台机器同时操作C机器的共享资源时,就需要第三方的锁机制来保证在分布式环境下的资源协调,也称分布式锁。 Redis有三个最基本属性来保证分布式锁的有效实现: 安全性: 互斥,在任何时候,只有一个客户端能持有锁。 活跃性
蘑菇先生
2018-05-21
7910
那些年我们一起追过的缓存写法(四)
阅读目录:  介绍 进程缓存 通信方式 速度对比 总结 介绍 之前有童鞋问到关于首次为空的问题,这里简单补充下: 一般来说并发量小、缓存数据量小的网站让用户自行触发页面让其缓存即可。 大点网站都会多台部署,用负载均衡路由。常见的策略是在每台机器发布应用时,节点从负载均衡节点集合中移除,发布结束后,首次访问通过人工或自动请求下页面让其缓存,也包括预编译。 还有一种是并发量大,缓存数据量大的情况,这也是本文的主题,下面会详细介绍。 如果缓存数据量大的情况下,预热就麻烦些。比如LZ公司单在内存中的缓存大小都过G,
蘑菇先生
2018-05-21
6180
探索C#之虚拟桶分片
阅读目录 背景 虚拟桶(virtual buckets) 实现 总结 背景 关于数据分片讨论最多的是一致性hash,然而它并不是分布式设计中的银弹百试百灵。 在数据稳定性要求比较高的场景下它的缺点是不能容忍的。 比如在Redis分布式缓存设计中,使用一致性Hash进行key分片存储,通过虚拟节点最大化降低添加或删除节点带来的影响。这里强调降低二字,即是它还是有影响的,在一般情况下我们还可以接受。 但是某些场景下要求动态扩容无影响就无法满足了。 上次(探索c#之一致性Hash详解)提到过Hash取
蘑菇先生
2018-05-21
8990
日志系统实战(三)-分布式跟踪的Net实现
介绍 在大型系统开发调试中,跨系统之间联调开始变得不好使了。莫名其妙一个错误爆出来了,日志虽然有记录,但到底是哪里出问题了呢?   是Ios端参数传的不对?还是A系统或B系统提供的接口导致?相信有不少人遇到这种情况,大多数问题往往不大,但排查起来比较费劲。 下面介绍下怎么通过上下文跟踪的方法,最快定位到其问题。 阅读目录: 概述 web环境 多线程环境 异步环境 性能,大数据量,隐私安全 总结 概述 简单介绍就是,通过一个TraceId把整个业务请求逻辑相关联起来,根据时间顺序形成一个完整的调用链。 这样无
蘑菇先生
2018-05-21
1.1K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档