后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过F5或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。服务端进行状态维护主要是通过磁盘或内存进行保存,比如MySQL数据库,redis等内存数据库。除了这两种类型的维护方式,还有jvm的内存的状态维持,但jvm的状态生命周期通常很短。
最近有个网友问了我一个问题:系统中大事务问题要如何处理?正好前段时间我在公司处理过这个问题,我们当时由于项目初期时间比较紧张,为了快速完成业务功能,忽略了系统部分性能问题。项目顺利上线后,专门抽了一个迭代的时间去解决大事务问题,目前已经优化完成,并且顺利上线。现给大家总结了一下,我们当时使用的一些解决办法,以便大家被相同问题困扰时,可以参考一下。
Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处理几个过程。其中在ksoftirqd软中断处理中,把数据包从RingBuffer中摘下来,送到协议栈的处理,再之后送到用户进程socket的接收队列中。
互联网虽然薪资待遇高,但压力大,加班也多,许多程序员年纪轻轻就落了一身毛病。一个今日头条的程序员就遇到了这种问题,发帖问大家裸辞是不是不明智?自己实在扛不住了,一是身体亮起红灯,得了重度脂肪肝和肠胃炎;二是负责的两个方向都做不好,虽然尽了最大努力,依然cover不住。昨晚又五点睡,七点醒,简直身心俱疲。之前是个好好的孩子,现在又胖又颓又没爱好,还不敢跟父母说,因为父母喜欢攀比,怕他们伤心失望。
互联网业务往往使用MySQL数据库作为后台存储,存储引擎使用InnoDB。我们针对互联网自身业务特点及MySQL数据库特性,讲述在具体业务场景中如何设计表和分表。本文从介绍MySQL相关基础架构设计入手,并结合企业实际案例介绍分表和索引的设计实战技巧。
【2w1h 】是技术领域中 一种非常有效的思考和学习方式,即W hat 、W hy 和 H ow ; 坚持【 2 w1h 】,可以快速提升我们的深度思考能力。今天我们通过【2w1h】方式来讨论“连接池”:什么是连接池(what)?为什么需要连接池(why)?
前段时间,某互联网大厂在厕所安装计时器的行为引起众怒。现在又有人发帖爆料一家公司监控员工离开工位的时间。爆料截图中显示,有人询问一位员工:“你昨天这个时间段做什么去了?”下面附着的两张截图分别显示该员工离开和回来工位的时间,间隔大约33分钟。
我们在使用mybatis时,如果出现sql问题,一般会把mybatis配置文件中的logging.level参数改成debug,这样就能在日志中看到某个mapper最终执行sql、入参和影响数据行数。我们拿到sql和入参,手动拼接成完整的sql,然后将该sql在数据库中执行一下,就基本能定位到问题原因。mybatis的日志功能使用起来还是非常方便的,大家有没有想过它是如何设计的呢?
我是 Windows 98、2000、XP、7 和 10 的粉丝。但是,我最终决定永远使用 Ubuntu。
本来不知道写点啥,正好手头有个新项目试着用阿里的Seata中间件做分布式事务,那就做一个实践分享吧!
RESTful想必大家都耳熟能详,但为什么要有RESTful?RESTful 到底是什么意思?为什么称之为 RESTful 架构?我不用 RESTful 不行吗?什么样才叫真正的 RESTful?