微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比

前言服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。因此,原本在单体应用阶段常用的静态LB机制就不再适用了,

字节码增强技术-Byte Buddy

字节码增强技术-ByteBuddy为什么需要在运行时生成代码?Java是一个强类型语言系统,要求变量和对象都有一个确定的类型,不兼容类型赋值都会造成转换异常,通常情况下这种错误都会被编译器检查出来,如此严格的类型在大多数情况下是比较令人满意的,这对构建具有非常强可读性和稳定性的应用有很大的帮助,这也

去了还想去-自然博物馆

在临产前的几周,带小满走了北京几个比较有名气的博物馆,像国家博物馆,首都博物馆,汽车博物馆等,但小满最兴奋的当属自然博物馆。由于疫情的关系,地下负一层没有开放,只能从导览图中看个大概,安慰小满说,等疫情过去了,地下一层开放了,咱们再来一次。好在恐龙馆已经开放,在预约官网看到的是恐龙馆也是暂停开放的,

5000字 | 24张图带你彻底理解Java中的21种锁

本篇主要内容如下:帮你总结好的锁:序号锁名称应用1乐观锁CAS2悲观锁synchronized、vector、hashtable3自旋锁CAS4可重入锁synchronized、Reentrantlock、Lock5读写锁ReentrantReadWriteLock,CopyOnWriteArray

开发者必备的6款源码搜索引擎

摘要:虽然自己编码很重要,但是在遇到一个功能时,利用现成的代码不失为一种好方法,或许还会达到事半功倍的效果。但千万不要单纯地“用”,更多地是理解与提升,这样才会进步。 在推动技术变革上,开源运动发挥了非常显著的作用。而Linux成功地将开源转换成商务模式,给广大开源工作者带来了更大的信心和勇气。目前,开源已成为主流,在未来的几年内,它的足迹将会遍布前沿教育、航空航天(如无人驾驶飞机)等许

一步步构建大型网站架构

今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完善的,下面是一个网站架构逐步发展的基本过程,读完后,请思考,你现在在哪个阶段。

YouTube架构学习体会

这几天一直在关注和学习一些大型网站的架构,希望有一天自己也能设计一个高并发、高容错的系统并能应用在实践上。今天在网上找架构相关的资料时,看到一个被和谐的视频网站YouTube的架构分析,看了以后觉得自己又向架构走近了一步,于是赶快拿出来与大家一起分享。 YouTube发展迅速,每天超过1亿的视频点击量,但只有很少人在维护站点和确保伸缩性。这点和PlentyOfFish类似,少数人维护庞大系统

并发编程的 15 条建议(译)

摘要:内核专家 Bryan Cantrill 和 Jeff Bonwick 在 2008 年 9 月的《ACM Queue》上发表了《Real-world Concurrency》 一文,提出了 15 条并发编程的建议,这里简单摘录如下。

JAVA并发编程学习笔记之CLH队列锁

NUMA与SMP SMP(Symmetric Multi-Processor),即对称多处理器结构,指服务器中多个CPU对称工作,每个CPU访问内存地址所需时间相同。其主要特征是共享,包含对CPU,内存,I/O等进行共享。SMP的优点是能够保证内存一致性,缺点是这些共享的资源很可能成为性能瓶颈,随着CPU数量的增加,每个CPU都要访问相同的内存资源,可能导致内存访问冲突,可能会导致CPU资源的浪

深入探讨 Java 类加载器

类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×