摘要:从CRUD的程序员,到niubility的架构师,推荐这几本书架构方面的书,看了绝对有收获,996也要找时间读完! 书单分为两部分,第一部分是关于系统架构的方法论,包括领域驱动设计,微服务,整洁架构,第二部分介绍各大互联网公司是如何做系统架构落地实践,个人对电商业务比较熟悉,所以以阿里和京东的技术实 阅读全文
posted @ 2019-10-17 10:34 邴越 阅读(6572) 评论(32) 推荐(41) 编辑
摘要:一、服务等级协议 我们常说的N个9,就是对SLA的一个描述。 SLA全称是ServiceLevel Agreement,翻译为服务水平协议,也称服务等级协议,它表明了公有云提供服务的等级以及质量。 例如阿里云对外承诺的就是一个服务周期内集群服务可用性不低于99.99%,如果低于这个标准,云服务公司就 阅读全文
posted @ 2019-09-27 11:40 邴越 阅读(1773) 评论(1) 推荐(5) 编辑
摘要:春秋五霸说开 春秋五霸,是指东周春秋时期相继称霸主的五个诸侯,“霸”,意为霸主,即是诸侯之领袖。典型的比如齐桓公,晋文公,春秋时期诸侯国的称霸,与今天要讨论的Raft算法很像。 一、更加直观的Raft算法 Raft 适用于一个管理日志一致性的协议,相比于 Paxos 协议 Raft 更易于理解和去实 阅读全文
posted @ 2018-04-16 20:10 邴越 阅读(8261) 评论(1) 推荐(2) 编辑
摘要:从分布式系统的CAP理论出发,关注分布式一致性,以及区块链的共识问题及解决。 区块链首先是一个大规模分布式系统,共识问题本质就是分布式系统的一致性问题,但是又有很大的不同。工程开发中,认为系统中存在故障(fault),但不存在恶意(corrupt)节点,而区块链,特别是公开链是落地到物理世界中,涉及 阅读全文
posted @ 2018-03-25 23:16 邴越 阅读(6259) 评论(0) 推荐(3) 编辑
摘要:本文内容来自春节以后我在小组内的一次分享,春节假期里一直在研究区块链相关的知识,赶下潮流技术,也搜集了比较多的资料, 现在整理成一篇文章,主要关注区块链技术特点,几个发展阶段以及应用场景,文末有PPT下载地址,如果失效,可以移步到公众号「架构进化论」。 一、进击的区块链 作为分布式记账(Distri 阅读全文
posted @ 2018-03-21 20:17 邴越 阅读(10962) 评论(4) 推荐(2) 编辑
摘要:这个春节最大的感慨是时间过的越来越快,转眼一年就过去了, 在这里回顾和总结2016年的工作,分享自己的感悟,展望新年,开工大吉! 一、回顾2016年 这一年工作上变动了,技术上也成长了很多。 1.工作与学习 过去的一年,从前公司来到搜狐,参与一个全新的新闻客户端的后台开发,团队同事非常给力,也开始知 阅读全文
posted @ 2017-02-07 15:35 邴越 阅读(4407) 评论(29) 推荐(29) 编辑
摘要:前端请求过程是指用户和应用服务器之间发生数据交互前的展现过程,这个过程通常不包含业务逻辑,不需要处理动态内容。 所谓唯快不破,互联网产品在用户体验方面,很重要的一点就是快。前端技术基本的架构与优化,主要是怎样让页面更快更好的展示在用户面前。 一、页面开发最佳实践 1.css样式置顶,Javascri 阅读全文
posted @ 2016-05-16 15:40 邴越 阅读(993) 评论(0) 推荐(0) 编辑
摘要:为了学习SentinelResourceAspect,这篇文章里我用Aspectj实现一个AOP实例,一起来看下。 Sentinel 提供了 @SentinelResource 注解用于定义资源,支持 AspectJ 的扩展用于自动定义资源、处理 BlockException 等。 Sentinel 阅读全文
posted @ 2020-02-19 10:48 邴越 阅读(277) 评论(0) 推荐(0) 编辑
摘要:MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 数据库查询是数据库的最主要功能之一,我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化,这篇文章对索引做一个系统的梳理,希望对大家有帮助。 一、MySQL有哪些索引类型 索引 阅读全文
posted @ 2020-02-13 22:38 邴越 阅读(314) 评论(0) 推荐(1) 编辑
摘要:这篇文章分为六个部分,不同特性的锁分类,并发锁的不同设计,Synchronized中的锁升级,ReentrantLock和ReadWriteLock的应用,帮助你梳理 Java 并发锁及相关的操作。 一、锁有哪些分类 一般我们提到的锁有以下这些: 乐观锁/悲观锁 公平锁/非公平锁 可重入锁 独享锁/ 阅读全文
posted @ 2020-02-09 16:37 邴越 阅读(836) 评论(0) 推荐(1) 编辑
摘要:从池化技术到底层实现,一篇文章带你贯通线程池技术。 1、池化技术简介 在系统开发过程中,我们经常会用到池化技术来减少系统消耗,提升系统性能。 在编程领域,比较典型的池化技术有: 线程池、连接池、内存池、对象池等。 对象池通过复用对象来减少创建对象、垃圾回收的开销;连接池(数据库连接池、Redis连接 阅读全文
posted @ 2020-02-07 15:23 邴越 阅读(211) 评论(0) 推荐(1) 编辑
摘要:Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用, 那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗? 这篇文章就分享下Dubbo关于本地调用的实现机制,以及如何开启和关闭本地调用。 injvm支持本地调用 使用 Dubbo 本地调用不需做特殊配置,按正常 阅读全文
posted @ 2020-02-04 18:11 邴越 阅读(1262) 评论(1) 推荐(1) 编辑
摘要:在前面的博客中,我给大家演示了使用 @SentinelResource 定义资源完成限流的例子, 下面就从源码解析开始,看下SentinelResource是如何实现限流的,以及@SentinelResource提供了哪些功能,支持哪些属性。 @SentinelResource可以说是Sentine 阅读全文
posted @ 2020-02-02 20:23 邴越 阅读(2244) 评论(0) 推荐(0) 编辑
摘要:这一节我们通过一个简单的实例,学习Sentinel的基本应用。 一、Sentinel 限流核心概念 在学习Sentinel的具体应用之前,我们先来了解一下Sentinel中两个核心的概念,资源和规则。 资源 资源 是 Sentinel 中的核心概念之一。既然是限流,或者系统保护,那么是针对什么做限流 阅读全文
posted @ 2020-02-02 11:25 邴越 阅读(489) 评论(0) 推荐(0) 编辑
摘要:Sentinel 的使用可以分为核心库和控制台两个部分。 核心库不依赖任何框架/库,集成了主流框架,可以进行单机限流降级等功能, 控制台Dashboard提供了可视化的管理限流规则、对集群进行监控,集群限流分配管理、机器发现等功能。 这篇博客学习 Sentinel 控制台的启动和接入。 一、控制台启 阅读全文
posted @ 2020-01-28 18:34 邴越 阅读(659) 评论(0) 推荐(0) 编辑
摘要:提起 Spring Cloud 的限流降级组件,一般首先想到的是 Netflix 的 Hystrix。 不过就在2018年底,Netflix 宣布不再积极开发 Hystrix,该项目将处于维护模式。官方表示 1.5.18 版本的 Hystrix 已经足够稳定,可以满足 Netflix 现有应用的需求 阅读全文
posted @ 2020-01-23 09:07 邴越 阅读(599) 评论(1) 推荐(0) 编辑
摘要:本文内容翻译自官方文档, "spring cloud stream docs" ,对 Spring Cloud Stream的应用入门介绍。 一、Spring Cloud Stream 简介 官方定义 Spring Cloud Stream 是一个构建消息驱动微服务的框架。 Spring Cloud 阅读全文
posted @ 2020-01-21 16:24 邴越 阅读(419) 评论(2) 推荐(0) 编辑
摘要:前面学习了单机模式下的启动,今天尝试下集群部署。 生产环境中部署nacos肯定是使用集群模式cluster保证高可用。 官方文档的集群部署推荐使用VIP+域名模式,把所有服务列表放到一个vip下面,然后挂到一个域名下面。 三种部署方式 官方推荐,nacos集群一般有3种方式,三种部署方式在访问形式的 阅读全文
posted @ 2020-01-20 18:25 邴越 阅读(462) 评论(0) 推荐(0) 编辑
摘要:一、快速了解Raft算法 Raft 适用于一个管理日志一致性的协议,相比于 Paxos 协议 Raft 更易于理解和去实现它。 为了提高理解性,Raft 将一致性算法分为了几个部分,包括领导选取(leader selection)、日志复制(log replication)、安全(safety),并 阅读全文
posted @ 2020-01-20 11:40 邴越 阅读(642) 评论(0) 推荐(0) 编辑
摘要:最近几年随着云计算和微服务不断的发展,各大云厂商也都看好了微服务解决方案这个市场,纷纷推出了自己针对微服务上云架构的解决方案,并且诞生了云原生,Cloud Native的概念。 云原生是一种专门针对云上应用而设计的方法,用于构建和部署应用,以充分发挥云计算的优势。 云原生应用的特点是可以实现快速和频 阅读全文
posted @ 2020-01-17 17:03 邴越 阅读(420) 评论(3) 推荐(0) 编辑
摘要:今天在 阿里云 ECS上 部署了一套 Lamp 系统,建了一个WordPress的网站,把操作过程记录下来,文中所列脚本可以直接应用。 废话不多说直接开动,ECS云服务购买可以点击 阿里云ECS 云主机 弹性计算 新人折扣 安装Nginx 登录弹性云服务器。 执行以下命令,下载对应当前系统版本的Ng 阅读全文
posted @ 2020-01-07 10:57 邴越 阅读(341) 评论(0) 推荐(0) 编辑
摘要:服务注册与发现,服务发现主要用于实现各个微服务实例的自动化注册与发现,是微服务治理的核心,学习 Spring Cloud Alibaba,首先要了解框架中的服务注册和发现组件——Nacos。 一、Spring Cloud 服务注册和发现组件 1.Spring Cloud Eureka 闭源风波 在S 阅读全文
posted @ 2019-12-26 11:04 邴越 阅读(521) 评论(0) 推荐(3) 编辑