软件架构中“弹性”的多种含义
在软件架构领域的中文文档、书籍中,经常可以看到“弹性”这个专业术语,但在不同的语境下含义可能会不同。 在英语中,elastic 和 resilient 两个单词都可以翻译为“弹性的”,但是它们在软件架构中代表的含义却完全不同,需要避免混淆。 ElasticElastic 代表的“
在软件架构领域的中文文档、书籍中,经常可以看到“弹性”这个专业术语,但在不同的语境下含义可能会不同。 在英语中,elastic 和 resilient 两个单词都可以翻译为“弹性的”,但是它们在软件架构中代表的含义却完全不同,需要避免混淆。 ElasticElastic 代表的“
字节码转文本的编码方式在计算机中,无论是内存、磁盘、网络传输,涉及到的数据都是以二进制格式来存储或传输的。 每一个二进制位(bit)只能是 0 或 1。二进制位不会单独存在,而是以 8 个二进制位组成 1 个字节(byte)的方式存在,即 1 byte = 8 bit。 字节码无
俄罗斯套娃想必大家都不陌生,就是同一种玩具娃娃大的套小的,然后一层一层嵌套下去。 在设计模式中,有一种常用的套娃模式,叫做装饰者(Decorator)模式,又称为包装(Wrapper)模式。 HttpServletRequest 套娃在 Spring 框架开发的 Web 应用中
JavaScript 语言的执行环境是单线程的,异步编程对于 JavaScript 来说必不可少。JavaScript 传统异步解决方案主要是通过回调函数,而回调函数最大的问题就是 Callback Hell。所以 ES6 标准提供的 Promise 对象,专门用于解决异步编程的
加密算法加密算法通常分为对称加密算法和非对称加密算法: 对称加密算法(symmetric-key cryptography):加密和解密时使用相同的密钥。常用的对称加密算法有 DES、AES。 非对称加密算法(asymmetric-key cryptography):加密和解密
Redis 分布式锁原理Redis 分布式锁原理,可以直接看官方文档:https://redis.io/commands/set#patterns The command SET resource-name anystring NX EX max-lock-time is a
微服务架构下,服务之间的关系错综复杂。从调用一个 HTTP API 到最终返回结果,中间可能发生了多个服务间的调用。而这些被调用的服务,可能部署在不同的服务器上,由不同的团队开发,甚至可能使用了不同的编程语言。在这样的环境中,排查性能问题或者定位故障就很麻烦。 Zipkin 是什
WebSocket 协议介绍WebSocket 协议是一种在单个 TCP 连接上进行全双工通信的协议,在建立连接完成握手阶段后,服务端也可以主动推送数据给客户端,使得 Web 浏览器和服务器之间的交互性更强大。 目前 WebSocket 协议应用非常广泛,大部分浏览器均已支持 W
在 Java 7 之前,程序中如果有需要关闭的资源,例如 java.io.InputStream、java.sql.Connection 等,通常会在 finally 中关闭,例如:123456789101112131415InputStream inputStream = nu
背景在很多其他语言中,函数是一等公民。例如 JavaScript 中,函数(Function)和字符串(String)、数字(Number)、对象(Object)等一样是一种数据类型。可以这样定义函数:123var myFunction = function () {