摘要:从CRUD的程序员,到niubility的架构师,推荐这几本书架构方面的书,看了绝对有收获,996也要找时间读完! 书单分为两部分,第一部分是关于系统架构的方法论,包括领域驱动设计,微服务,整洁架构,第二部分介绍各大互联网公司是如何做系统架构落地实践,个人对电商业务比较熟悉,所以以阿里和京东的技术实 阅读全文
posted @ 2019-10-17 10:34 邴越 阅读(8272) 评论(32) 推荐(42) 编辑
摘要:一、服务等级协议 我们常说的N个9,就是对SLA的一个描述。 SLA全称是ServiceLevel Agreement,翻译为服务水平协议,也称服务等级协议,它表明了公有云提供服务的等级以及质量。 例如阿里云对外承诺的就是一个服务周期内集群服务可用性不低于99.99%,如果低于这个标准,云服务公司就 阅读全文
posted @ 2019-09-27 11:40 邴越 阅读(2994) 评论(1) 推荐(6) 编辑
摘要:春秋五霸说开 春秋五霸,是指东周春秋时期相继称霸主的五个诸侯,“霸”,意为霸主,即是诸侯之领袖。典型的比如齐桓公,晋文公,春秋时期诸侯国的称霸,与今天要讨论的Raft算法很像。 一、更加直观的Raft算法 Raft 适用于一个管理日志一致性的协议,相比于 Paxos 协议 Raft 更易于理解和去实 阅读全文
posted @ 2018-04-16 20:10 邴越 阅读(9026) 评论(1) 推荐(5) 编辑
摘要:从分布式系统的CAP理论出发,关注分布式一致性,以及区块链的共识问题及解决。 区块链首先是一个大规模分布式系统,共识问题本质就是分布式系统的一致性问题,但是又有很大的不同。工程开发中,认为系统中存在故障(fault),但不存在恶意(corrupt)节点,而区块链,特别是公开链是落地到物理世界中,涉及 阅读全文
posted @ 2018-03-25 23:16 邴越 阅读(7145) 评论(0) 推荐(4) 编辑
摘要:本文内容来自春节以后我在小组内的一次分享,春节假期里一直在研究区块链相关的知识,赶下潮流技术,也搜集了比较多的资料, 现在整理成一篇文章,主要关注区块链技术特点,几个发展阶段以及应用场景,文末有PPT下载地址,如果失效,可以移步到公众号「架构进化论」。 一、进击的区块链 作为分布式记账(Distri 阅读全文
posted @ 2018-03-21 20:17 邴越 阅读(11609) 评论(4) 推荐(2) 编辑
摘要:最近参与了一些电商业务中台等复杂业务系统的设计和开发,结合DDD和中台等, 有一些架构方面的思考和体会,在这里记录一下。 做技术方案,核心是下面几个问题: 做什么?- 产品需求 业务上怎么做?- 业务文档 技术上怎么做?- 技术方案 代码怎么实现?- 落地实现 明确了这几个问题,可以处理大部分日常需 阅读全文
posted @ 2020-12-16 10:41 邴越 阅读(3799) 评论(25) 推荐(18) 编辑
摘要:最近关注互联网电商营销相关方面的知识,对商业化和流量变现有了一些认知。 熟悉的朋友知道,写文章是我学习的一种方式,输出倒逼输入,继而强化知识体系,所以也把这段时间的输入,自顶向下做一个系列的分享。 说句题外话,我身边的互联网领域创业,好像技术出身的创业者比例明显低于产品和运营,或许原因之一就是技术人 阅读全文
posted @ 2020-11-10 12:19 邴越 阅读(749) 评论(0) 推荐(5) 编辑
摘要:这篇文章聊下字节码和相关的应用。 1、机器码和字节码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。 通常意义上来理解的话,机器码就是计算机可以直接执行,并且执行速度最快的代码。 用机器语言编写程序,编程人员要首先 阅读全文
posted @ 2020-02-20 18:09 邴越 阅读(231) 评论(0) 推荐(0) 编辑
摘要:为了学习SentinelResourceAspect,这篇文章里我用Aspectj实现一个AOP实例,一起来看下。 Sentinel 提供了 @SentinelResource 注解用于定义资源,支持 AspectJ 的扩展用于自动定义资源、处理 BlockException 等。 Sentinel 阅读全文
posted @ 2020-02-19 10:48 邴越 阅读(657) 评论(0) 推荐(0) 编辑
摘要:一、为什么要分库分表 软件时代,传统应用都有这样一个特点:访问量、数据量都比较小,单库单表都完全可以支撑整个业务。随着互联网的发展和用户规模的迅速扩大,对系统的要求也越来越高。因此传统的MySQL单库单表架构的性能问题就暴露出来了。而有下面几个因素会影响数据库性能: 数据量 MySQL单库数据量在5 阅读全文
posted @ 2020-02-15 17:14 邴越 阅读(476) 评论(0) 推荐(1) 编辑
摘要:MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 数据库查询是数据库的最主要功能之一,我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化,这篇文章对索引做一个系统的梳理,希望对大家有帮助。 一、MySQL有哪些索引类型 索引 阅读全文
posted @ 2020-02-13 22:38 邴越 阅读(439) 评论(0) 推荐(1) 编辑
摘要:这篇文章分为六个部分,不同特性的锁分类,并发锁的不同设计,Synchronized中的锁升级,ReentrantLock和ReadWriteLock的应用,帮助你梳理 Java 并发锁及相关的操作。 一、锁有哪些分类 一般我们提到的锁有以下这些: 乐观锁/悲观锁 公平锁/非公平锁 可重入锁 独享锁/ 阅读全文
posted @ 2020-02-09 16:37 邴越 阅读(1673) 评论(0) 推荐(1) 编辑
摘要:从池化技术到底层实现,一篇文章带你贯通线程池技术。 1、池化技术简介 在系统开发过程中,我们经常会用到池化技术来减少系统消耗,提升系统性能。 在编程领域,比较典型的池化技术有: 线程池、连接池、内存池、对象池等。 对象池通过复用对象来减少创建对象、垃圾回收的开销;连接池(数据库连接池、Redis连接 阅读全文
posted @ 2020-02-07 15:23 邴越 阅读(411) 评论(0) 推荐(1) 编辑
摘要:按照代理的创建时期,代理类可以分为两种。 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 动态代理三种方式 动态代理实现有三种方式,jdk动态代理(基于接口),cglib动态代理(基 阅读全文
posted @ 2020-02-06 12:06 邴越 阅读(240) 评论(0) 推荐(1) 编辑
摘要:Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用, 那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗? 这篇文章就分享下Dubbo关于本地调用的实现机制,以及如何开启和关闭本地调用。 injvm支持本地调用 使用 Dubbo 本地调用不需做特殊配置,按正常 阅读全文
posted @ 2020-02-04 18:11 邴越 阅读(2378) 评论(1) 推荐(1) 编辑
摘要:网络原理是工程师的必须了解的计算机基础知识,先推荐下两本好书,《图解HTTP》和《图解TCP/IP》。 《图解TCP/IP》讲解网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,《图解HTTP》对HTTP协议进行了全面系统的 阅读全文
posted @ 2020-02-03 20:45 邴越 阅读(191) 评论(0) 推荐(0) 编辑
摘要:在前面的博客中,我给大家演示了使用 @SentinelResource 定义资源完成限流的例子, 下面就从源码解析开始,看下SentinelResource是如何实现限流的,以及@SentinelResource提供了哪些功能,支持哪些属性。 @SentinelResource可以说是Sentine 阅读全文
posted @ 2020-02-02 20:23 邴越 阅读(5530) 评论(0) 推荐(0) 编辑
摘要:这一节我们通过一个简单的实例,学习Sentinel的基本应用。 一、Sentinel 限流核心概念 在学习Sentinel的具体应用之前,我们先来了解一下Sentinel中两个核心的概念,资源和规则。 资源 资源 是 Sentinel 中的核心概念之一。既然是限流,或者系统保护,那么是针对什么做限流 阅读全文
posted @ 2020-02-02 11:25 邴越 阅读(1124) 评论(0) 推荐(0) 编辑
摘要:Sentinel 的使用可以分为核心库和控制台两个部分。 核心库不依赖任何框架/库,集成了主流框架,可以进行单机限流降级等功能, 控制台Dashboard提供了可视化的管理限流规则、对集群进行监控,集群限流分配管理、机器发现等功能。 这篇博客学习 Sentinel 控制台的启动和接入。 一、控制台启 阅读全文
posted @ 2020-01-28 18:34 邴越 阅读(1951) 评论(0) 推荐(1) 编辑
摘要:提起 Spring Cloud 的限流降级组件,一般首先想到的是 Netflix 的 Hystrix。 不过就在2018年底,Netflix 宣布不再积极开发 Hystrix,该项目将处于维护模式。官方表示 1.5.18 版本的 Hystrix 已经足够稳定,可以满足 Netflix 现有应用的需求 阅读全文
posted @ 2020-01-23 09:07 邴越 阅读(1090) 评论(1) 推荐(0) 编辑