一位七牛的资深架构师曾经说过这样一句话:Nginx+业务逻辑层+数据库+缓存层+消息队列,这种模型几乎能适配绝大部分的业务场景。这么多年过去了,这句话或深或浅地影响了我的技术选择,以至于后来我花了很多时间去重点学习缓存相关的技术。我在10年前开始使用缓存,从本地缓存、到分布式缓存、再到多级缓存,踩过很多坑。下面我结合自己使用缓存的历程,谈谈我对缓存的认识。
大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。
小张,开发一个大型系统,写了一个统一的接口层;日志门面(日志的一个抽象层);logging-abstract.jar;给项目中导入具体的日志实现就行了;我们之前的日志框架都是实现的抽象层……
分布式事务你应该是知道的。但是这个多线程事务...... 没事,我慢慢给你说。
有粉丝问我到底什么是ARM,搞不清楚Cortex、arm内核、arm架构、ARM指令集、soc这些概念都是什么关系,本文给大家整理一下关于ARM相关的一些概念。
面对超高的并发,首先硬件层面机器要能扛得住,其次架构设计做好微服务的拆分,代码层面各种缓存、削峰、解耦等等问题要处理好,数据库层面做好读写分离、分库分表,稳定性方面要保证有监控,熔断限流降级该有的必须要有,发生问题能及时发现处理。这样从整个系统设计方面就会有一个初步的概念。
关于架构这个概念很难给出一个明确的定义,也没有一个标准的定义。硬是要给一个概述,我认为架构就是对系统中的实体以及实体之间的关系所进行的抽象描述。
什么是架构?关于架构这个概念很难给出一个明确的定义,也没有一个标准的定义。硬是要给一个概述,我认为架构就是对系统中的实体以及实体之间的关系所进行的抽象描述。
在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要重新认识一下前端,前端已经很成体系了)。
作为Sharding-JDBC 分库分表实战系列的开篇文章,我们在前文中回顾了一下分库分表的基础知识,对分库分表的拆分方式有了一定的了解,下边我们介绍一下 Sharding-JDBC框架和快速的搭建一个分库分表案例,为讲解后续功能点准备好环境。
对于大部分“大型后台管理系统”来说,前后端分离弊大于利。
Tomcat 支持的 io 模型有 NIO、NIO2、APR,Tomcat 支持的应用层协议有 http1.1 ajp http2.0。Tomcat 最顶层是 server,一个 server 有多个 service,一个 service 有多个连接器和一个容器,连接器和容器之间通过 ServletRequest 和 ServletResponse 通信。
项目中我们总是用 Kibana 界面来搜索测试或生产环境下的日志,来看下有没有异常信息。Kibana 就是我们常说的 ELK 中的 K。
什么是PV?PV即Page View,网站浏览量,指页面浏览的次数,用以衡量网站用户访问的网页数量。用户每次打开一个页面便记录1次PV,多次打开同一页面则浏览量累计。一般来说,PV与来访者的数量成正比,但PV并不直接决定页面的真实来访者数量,如同一个来访者通过不断的刷新页面,也可以制造出非常高的PV。
作为未来x86和ARM的有力竞争者,由于其开源协议固有化、免费、模块化、可扩展等特点,RISC-V近几年获得了惊人的成长,在处理器市场开始了扩张,任何国家和公司也无法对其造成干涉。
作者之前写过一篇文章《有的线程它死了,于是它变成一道面试题》,这是早期作品,遣词造句,排版行文都有一点稚嫩,但承蒙厚爱,还是有很多人看过,甚至已经进入了某网红公司的面试题库里面。本文相当于是对上面这篇文章的一个补充。
在互联网行业,线上服务的升级更新可谓家常便饭。据统计,在过去的一个季度中闲鱼工程师们执行了千余次发布,总计更新的代码数量超过百万行。这些发布中,有一些可能只更新了几行代码,而有一些可能执行了整个集群的迁移升级。而无论这些变更的影响面有多大,我们都必须保证线上服务的可用性,用户无感知。本文将以闲鱼搜索服务的迁移升级为例,向大家介绍其背后的技术方案。
好的架构要不断演变,进而去适应业务的发展。美团在移动端上的架构,也经历了组件化、平台化、RN混合化,到现在开始向容器化变迁。容器化架构充分地利用了现在的跨端技术,将动态化的能力最大化地赋予了业务。 作为美团最为重要的业务之一,美团外卖移动端的架构演进是怎样的呢?本文将为你揭开背后的思考、技术细节以及实践。
本文介绍了Redis高可用相关的机制。
来源 | Java中文社群(ID:javacn666) 前面的文章《动图演示:手撸堆栈的两种实现方法!》我们用数组和链表来实现了自定义的栈结构,那在 JDK 中官方是如何实现栈的呢?接下来我们一起来看。