技术介绍
茅坤宝骏氹
语言:Java、C/C++、C#、Python、Linux Shell。
框架:Spring、Spring MVC、Spring Boot、Spring Cloud、Hibernate、Mybatis、Freemarker、Velocity。
前端:HTML5、CSS3、JavaScript、Bootstrap、JQuery、Vue、React。
数据库:oracle、mysql、MongoDB、HBase。
缓存:Memcache、Redis。
消息队列:kafka。
大数据:Hadoop、Hive、Sqoop、Flume、Spark、Strom、OpenTSDB、Druid。
展开
-
屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python
转载自 屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,真有这么神奇?GraalVM 简介GraalVM 是一个跨语言的通用虚拟机,不仅支持了 Java、Scala、Groovy、Kotlin 等基于 JVM 的语言,以及 C...转载 2018-10-04 12:02:22 · 379 阅读 · 0 评论 -
Go语言、Docker 和新技术
转载自 Go语言、Docker 和新技术上个月,作为 Go 语言的三位创始人之一,Unix 老牌黑客罗勃·派克(Rob Pike)在新文章“Go: Ten years and climbing”中,回顾了一下 Go 语言的发展过程。其中提到,Go 语言这十年的迅猛发展大到连他们自己都没有想到,并且还成为了云计算领域中新一代的开发语言。还提到了,中国程序员对 Go 语言的热爱完全超出了他们的想象,甚...转载 2018-06-15 09:49:54 · 1857 阅读 · 0 评论 -
CDN如何实现,关键技术是什么?
转载自 CDN如何实现,关键技术是什么?CDN原理 CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,这就是CDN的最基本的原理。如下图:图中各点含义如下:1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;2.网站的DNS域名解析器...转载 2018-07-02 00:06:58 · 4304 阅读 · 0 评论 -
服务降级的概念及应用手段
转载自 服务降级的概念及应用手段什么是服务降级服务降级,就是对不怎么重要的服务进行低优先级的处理。说白了,就是尽可能的把系统资源让给优先级高的服务。资源有限,而请求是无限的。如果在并发高峰期,不做服务降级处理,一方面肯定会影响整体服务的性能,严重的话可能会导致宕机某些重要的服务不可用。所以,一般在高峰期,为了保证网站核心功能服务的可用性,都要对某些服务降级处理。服务降级手段拒绝服务判断应用来源,高...转载 2018-04-25 10:47:27 · 353 阅读 · 0 评论 -
关于TCP/IP必须知道的几个基础问题
转载自 关于TCP/IP必须知道的几个基础问题描述一下TCP三次握手的过程接下来我们根据下面这幅图来解释一下TCP三次握手。p.s: 每个箭头代表一次握手。第一次握手client(客户端)发送一个SYN(seq=x)包给server(服务器),然后“期待”server的ACK回复。p.s: seq为sequence(序列)的缩写,ACK为acknowledge(通知)的缩写。第二次握手serv...转载 2018-06-20 13:13:52 · 825 阅读 · 0 评论 -
高可用性的几个级别
转载自 高可用性的几个级别大家常说高可用,High Availablility,但是一般说到这个词的时候,具体指的什么方案呢? 级别一:FT (Fault Tolerance) 双击热备 通过创建与主实例保持虚拟同步的虚拟机,使应用在服务器发生故障的情况下也能够持续可用。这种方法常通过使主虚拟机 和辅助虚拟机执行相同顺序的 x86指令来完成此过程。主虚拟机捕获所有输入...转载 2018-07-23 20:34:27 · 1625 阅读 · 0 评论 -
单点登录终极方案之 CAS 应用及原理
转载自 单点登录终极方案之 CAS 应用及原理Cookie的单点登录的实现方式很简单,但是也问题颇多。例如:用户名密码不停传送,增加了被盗号的可能。另外,不能跨域! 1、基于Cookie的单点登录的回顾基于Cookie的单点登录核心原理:将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密...转载 2018-10-10 19:29:46 · 286 阅读 · 0 评论 -
线上防雪崩利器——熔断器设计原理与实现
转载自 线上防雪崩利器——熔断器设计原理与实现本文来自作者投稿,作者林湾村龙猫,这是一篇他根据工作中遇到的问题总结出的最佳实践。上周六,我负责的业务在凌晨00-04点的支付全部失败了。结果一查,MD,晚上银行维护,下游支付系统没有挂维护公告,在此期间一直请求维护中的银行,当然所有返回就是失败了,有种欲哭无泪的感觉,锅让业务来背。为了杜绝在此出现这种大面积批量的支付失败情况发生,保...转载 2018-10-07 19:45:05 · 445 阅读 · 0 评论 -
什么是缓存击穿
转载自 什么是缓存击穿缓存击穿、缓存并发和缓存雪崩是常见的由于并发量大而导致的缓存问题,本节讲解其产生原因和解决方案。缓存击穿通常是由恶意攻击或者无意造成的;缓存并发是由设计不足造成的;缓存雪崩是由缓存同时失效造成的,三种问题都比较典型,也是难以防范和解决的。本节给出通用的解决方案,以供在缓存设计的过程中参考和使用。缓存击穿缓存击穿指的是使用不存在的key进行大量的高并发查询,...转载 2018-09-28 19:19:48 · 237 阅读 · 0 评论 -
缓存穿透、缓存并发、缓存失效之思路变迁
转载自 缓存穿透、缓存并发、缓存失效之思路变迁在用缓存的时候,基本上会通用遇到以下三个问题:缓存穿透 缓存并发 缓存失效一、缓存穿透 上面三个图会有什么问题呢?我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次...转载 2018-12-30 19:37:11 · 108 阅读 · 0 评论 -
淘宝秒杀系统设计的几个注意点
转载自 淘宝秒杀系统设计的几个注意点还记得2013年的小米秒杀吗?三款小米手机各11万台开卖,走的都是大秒系统,3分钟后成为双十一第一家也是最快破亿的旗舰店。经过日志统计,前端系统双11峰值有效请求约60w以上的QPS ,而后端cache的集群峰值近2000w/s、单机也近30w/s,但到真正的写时流量要小很多了,当时最高下单减库存tps是红米创造,达到1500/s。热点隔离秒杀系统...转载 2019-01-01 20:34:48 · 703 阅读 · 1 评论 -
PNG 图片压缩原理解析
转载自PNG 图片压缩原理解析什么是PNGPNG的全称叫便携式网络图型(Portable Network Graphics)是目前最流行的网络传输和展示的图片格式,原因有如下几点: 无损压缩:PNG图片采取了基于LZ77派生算法对文件进行压缩,使得它压缩比率更高,生成的文件体积更小,并且不损失数据。 体积小:它利用特殊的编码方法标记重复出现的数据,使得同样格式的图片,P...转载 2019-04-26 22:39:52 · 211 阅读 · 0 评论 -
TCP为什么是三次握手和四次挥手
转载自 TCP为什么是三次握手和四次挥手为什么建立连接是三次握手断开连接是四次挥手?三次握手的流程和四次挥手的流程是什么?三次握手与四次回收分别对应TCP连接与断开过程tcp报文格式标志位含义ACK:确认序号有效。SYN:发起一个新连接。FIN:释放一个连接。三次握手的过程注意:三次握手的最主要目的是保证连接是双工的,可靠更多的是通过重传机制来保证...转载 2019-04-27 14:06:00 · 354 阅读 · 0 评论 -
双机热备的原理
转载自 双机热备的原理夜半惊魂上次的文章《负载均衡的原理》中讲到,张大胖在Bill的指导下,成功地开发了一个四层的负载均衡软件, 把流量“均匀地”分发到了后面的几个服务器中, 获得了老板的1000块钱奖励。但是张大胖心中隐隐不安,总觉得系统埋着一颗定时炸弹,随时会引爆,这个炸弹就是: Load Balancer 只有一台服务器,万一这个服务器挂掉了怎么办?没有了Load Balancer这个入口...转载 2018-06-03 07:48:53 · 244 阅读 · 0 评论 -
服务器性能指标(一)——负载(Load)分析及问题排查
转载自 服务器性能指标(一)——负载(Load)分析及问题排查平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt等。每个指标都有其独特的意义,很多时候在线上出现问题时,往往会伴随着某些指标的异常。大部分情况下,在问题发生之前,某些指标就会提前有异常显示。对于这些指标的理解和查看、异常解决等,是程序员们重要的必备技能。本文,主要来介绍一下一个比较重要的指...转载 2018-05-26 08:40:49 · 758 阅读 · 0 评论 -
SLA服务可用性4个9是什么意思?怎么达到?
转载自 SLA服务可用性4个9是什么意思?怎么达到?SLA:服务等级协议(简称:SLA,全称:service level agreement)。是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。SLA的定义来源百度,这到底是什么意思呢?我们平常经常看到互联网公司喊口号,我们今年一定要做到3个9、4个9,即99.9%、99....转载 2018-04-24 11:15:14 · 973 阅读 · 0 评论 -
一张图告诉你为什么是服务网关
转载自 一张图告诉你为什么是服务网关,文末有现金抽奖。网关服务是单一访问点,并充当多项服务的代理。服务网关启用了跨所有服务的路由转发、过滤和公共处理等。在微服务实践中远不止这点功能,它可以做到统一接入、流量管控、安全防护、业务隔离等功能。下面是服务网关的大概作用图。看完这张图,或许你已经明白了服务网关的作用,及使用服务网关带来的诸多好处。所以,既然服务网关有这么多作用,也是现在微服务套件中的必用组...转载 2018-04-24 11:15:39 · 489 阅读 · 0 评论 -
什么是CPU密集型、IO密集型?
转载自 什么是CPU密集型、IO密集型?CPU密集型(CPU-bound)CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称...转载 2018-04-24 11:16:29 · 303 阅读 · 0 评论 -
推荐一个在线创作流程图、思维导图软件—ProcessOn
转载自 推荐一个在线创作流程图、思维导图软件—ProcessOn最近要画流程图,破解了半天Visio2016没搞定,2016的估计都被封了,Visio收费又过贵,又不想折腾低版本的破解,所以找了个在线画图平台ProcessOn,没想到还出乎人意料,完全可以达到预期效果,而且比较轻量级,虽然没有提供客户端,但个人觉得已经很棒了。这个平台前几年就已经在用,后来没画图又忘了而已,没想到还活着,现在推荐给...转载 2018-04-25 10:47:12 · 663 阅读 · 0 评论 -
网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解
转载自 网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解常用的网站性能测试指标有:吞吐量、并发数、响应时间、性能计数器等。并发数并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。响应时间响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。响应时间是指执行一个请求从开始到最后收到响应数据所花费的总体时间。吞吐量吞吐量是指单位时间内系统能处理的请求数量,体现系...转载 2018-04-26 09:28:06 · 677 阅读 · 0 评论 -
服务高可用:幂等性设计
转载自 服务高可用:幂等性设计什么是幂等性?一般在服务调用时,读服务如果调用失败了,会自动按配置次数转移到别的服务上去请求。而写服务就不能重复请求,如果因为超时或者网络故障等原因被调用服务并没有返回成功的响应,服务调用方就认为是失败了,但很有可能的是已经成功了,如果继续重复请求写服务,如转账类的服务,可能会造成严重的后果。所以,写服务失败不能设计成继续发重复请求,被调用服务也要设计幂等性,即使重复...转载 2018-04-26 09:29:15 · 207 阅读 · 0 评论 -
漫画:三分钟了解敏捷开发
转载自 漫画:三分钟了解敏捷开发什么是敏捷开发?敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用的版本。然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。这一切正...转载 2018-05-03 10:25:55 · 351 阅读 · 0 评论 -
缓存雪崩,缓存穿透,缓存预热,缓存热备都是什么鬼?
转载自 缓存雪崩,缓存穿透,缓存预热,缓存热备都是什么鬼?缓存雪崩,缓存穿透,缓存预热,缓存热备是在做缓存设计或者缓存应用时经常遇到的概念,也是缓存应用过程中必须熟知及知道 的东西。缓存雪崩当缓存处于单点情况下,一旦缓存服务器崩溃,所有的请求就会落到数据库层,此时,如果由于访问量过大则会导致数据库宕机,进而导致整个网站或服务不可用,这种缓存故障就是俗称的缓存雪崩。解决方案:解决缓存雪崩故障,就得解...转载 2018-04-26 09:30:18 · 342 阅读 · 1 评论 -
彻底理解正向代理和反向代理
转载自 彻底理解正向代理和反向代理平时工作中我们会接触到各种代理,它到底是什么概念呢,又是什么工作原理,下面我们具体来分析一下。1、概念正向代理这个很好理解,比如说你现在要访问一个外国的社交网站www.facebook.com,根据天朝的政策这个网站正常来访问是打不开的,也就是通常所说的被“墙”了,你需要翻越这块围墙才能看到外面的世界,俗称翻墙。你可以通过购买别人的VPN或者自己搭建代理服务器去实...转载 2018-05-06 14:32:48 · 1922 阅读 · 1 评论 -
面向对象与面向过程
一、面向过程编程面向过程编程是一种以过程为中心的编程思想,分析出解决问题的步骤,然后用函数把这些步骤一步一步实现。面向过程编程,数据和对数据的操作是分离的。 二、面向对象编程面向对象编程是将事物对象化,通过对象通信来解决问题。面向对象编程,数据和对数据的操作是绑定在一起的。面向对象的三大基本特征:封装:把客观事物封装成抽象的类,隐藏属性和方法的实现细节,仅对外公开接口。继承:子类可以原创 2017-11-26 17:57:20 · 218 阅读 · 0 评论 -
漫画:什么是服务熔断
转载自 漫画:什么是服务熔断什么是服务熔断?熔断这一概念来源于电子工程中的断路器(Circuit Breaker)。在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。这种牺牲局部,保全整体的措施就叫做熔断。如果不采取熔断措施,我们的系统会怎样呢?我们来看一个栗子。当前系统中有A,B,C三个服务,服务A是上游,服务B是中游,服务...转载 2018-05-07 10:36:05 · 7157 阅读 · 1 评论 -
五分钟了解CDN
转载自 五分钟了解CDN一、什么是CDN?CDN全称Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求...转载 2018-07-04 09:28:35 · 218 阅读 · 0 评论 -
从 Linux 源码看 Socket 的阻塞和非阻塞
转载自 从 Linux 源码看 Socket 的阻塞和非阻塞笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本文源码均来自采用Linux-2.6.24内核版本。一个TCP非阻塞client端简单的例子如果我们要...转载 2018-04-18 20:11:37 · 257 阅读 · 0 评论