系统架构
文章平均质量分 86
brant_0429
这个作者很懒,什么都没留下…
展开
-
架构设计---技术栈01
1、star模型的是哪几个单词的缩写,star具体内容是什么,为什么star能很好地考察候选人的能力? star模型:situation(情景) task(任务) action(行动) result(结果) 定义:基于一种假设,根据候选人过去的行为表现可以预测将来的绩效表现。 特定的场景或者环境完成某一任务所采取的行为和产生的结果,判断候选人的能力和素质。 有效性:候...原创 2018-03-17 22:44:14 · 1002 阅读 · 0 评论 -
UML、架构方案、业务架构、技术架构、设计文档
UML、架构方案、业务架构、技术架构、设计文档1、uml有哪五种模型?Use Case Model; Analysis Model;Design Model;Implementation Model;Deployment Model;Use Case模型(Use Case Model),分析模型(Analysis Model),设计模型(Design Model)和实现模型(Implementat...原创 2018-05-27 01:38:06 · 7285 阅读 · 0 评论 -
基于Docker及Kubernetes技术构建容器云(PaaS)平台概述
【编者的话】目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用、弹性伸缩和动态调整应用环境资源,提高研发运营效率。从宏观到微观(从抽象到具体)的思路来理解:云计算→PaaS→ App Engine→XAE[XXX App Engine] (XAE泛指一类应用运行平台,例如GAE、SAE、BAE等)。本文简要介绍了与容器云相关的几个重要...转载 2018-05-20 16:24:37 · 4051 阅读 · 1 评论 -
ThreadLocal
概述相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目的是为了解决多线程访问资源时的共享问题。如果你也这样认为的,那现在给你10秒钟,清空之前对ThreadLocal的错误的认知!more看看JDK中的源码是怎么写的:This class provides thread-loca...原创 2018-04-03 18:16:24 · 164 阅读 · 0 评论 -
垃圾收集器Serial 、Parallel、CMS、G1
这里介绍4个垃圾收集器,如果进行了错误的选择将会大大的影响程序的性能。 时至今日,仍然有两个事情困扰着开发人员:垃圾收集(GC)和了解异性(程序猿的悲鸣),后者我确实不太了解,因为我被前者搞的无暇顾及怎么了解异性,特别是当知道在JAVA8中对这一区域有了很大的改进和提升还有移除了PermGen和以一些新的令人兴奋的调优。 当我们谈到垃圾回收时,我们绝大多数都知道利用它的概念在我们日常的...转载 2018-04-14 23:34:50 · 221 阅读 · 0 评论 -
JVM内存管理、JVM垃圾回收机制、新生代、老年代以及永久代
JVM运行时数据区由程序计数器、堆、虚拟机栈、本地方法栈、方法区部分组成,结构图如下所示。 JVM内存结构由程序计数器、堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)程序计数器,也指pc寄存器 几乎不占有内存。用于取下一条执行的指令。 2)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xm...原创 2018-04-14 23:04:01 · 495 阅读 · 0 评论 -
峰值QPS/QPS/PV/UV/服务器数量/并发数/吐吞量/响应时间计算公式
TPStps是每秒内的事务数,比如执行了dml操作,那么相应的tps会增加;qps是指每秒内查询次数,比如执行了select操作,相应的qps会增加。不同的应用系统tps,qps是没有可对比性的。例如:应用A,每个select查询需要1ms, 一个connection的话,一直不停的执行,1S内 可执行1000次,也就是1000qps应用B,每个select查询需要100ms, 一个connect...原创 2018-03-26 11:03:47 · 1197 阅读 · 0 评论 -
分布式系统唯一ID生成方案汇总
系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。1. 数据库自增长序列或字段最常见的方式。利用数据库,全数据库唯一。优点:1)简单,代码方便,性能可以接受。2)数字ID天然排序,对分页或者需要排序的结果很有帮助。 缺点:1)不同数据...原创 2018-03-25 11:48:32 · 255 阅读 · 0 评论 -
谈谈我对服务熔断、服务降级的理解
伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了)。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问就不知,一讨论就吵架”。其实对老外的总结能力一直特别崇拜,Kevin Kelly、Martin Fowler、Werner Vogels……,都是著名的“演讲家”。正好这段时间看...转载 2018-03-25 10:01:29 · 1601 阅读 · 0 评论 -
架构设计---技术栈02(待完善)
1、SOA核心技术之序列化与反序列化 序列化/反序列化 序列化是将对象转换为字节序列的过程称为对象的序列化,也简称为编码; 反序列化是序列化的逆过程。将字节序列恢复为对象的过程称为对象的反序 列化,也简称为解码; protobuf,json,Messgaepack(性能好,但是坑多) 通过将对象序列化字节数组,使得通过网络连接的系统之间能够进行对象的传输; 解决远程接口调用J...原创 2018-03-24 22:43:01 · 269 阅读 · 0 评论 -
BIO、NIO和AIO的区别(待整理)
BIO、NIO和AIO的区别(简明版) 转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6543960.html 一:事件分离器 在IO读写时,把 IO请求 与 读写操作 分离调配进行,需要用到事件分离器。根据处理机制的不同,事件分离器又分为:同步的Reactor和异步的Proactor。 Reactor模型: -...转载 2018-03-24 22:05:51 · 231 阅读 · 0 评论 -
Netty序章之BIO NIO AIO演变
Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠的网络服务器和客户端程序。Netty简化了网络程序的开发,是很多框架和公司都在使用的技术。更是面试的加分项。Netty并非横空出世,它是在BIO,NIO,AIO演变中的产物,是一种NIO框架。而BIO,NIO,AIO更是笔试中要考,面试中要问的技术。也是一个很好的加分项,加分就是加工资,你还在等什么?本章带你细细品味三者的不...转载 2018-03-24 21:47:22 · 252 阅读 · 0 评论 -
架构设计---soa与msa的概念
1. 前言随着现在互联网行业的发展,越来越多的框架、中间件、容器等开源技术不断地涌现,更好地来服务于业务,实现业务并解决问题。然而面对众多的技术选择,我们要如何甄别出适合自己团队业务的技术呢?对于人来说,鞋子过大,可能影响奔跑的速度,鞋子过小,可能影响身体的成长。技术对于业务也是如此的关系。所以,相对于技术的学习、搭建、使用、运维等技能,我们 对技术的甄别选择更是重中之重。那么本文要讲的Dubbo...原创 2018-03-12 23:59:01 · 4222 阅读 · 1 评论 -
nodejs---浅析 Node.js 单线程模型
浅析 Node.js 单线程模型Node.js 采用事件驱动和异步 I/O 的方式,实现了一个单线程、高并发的 JavaScript 运行时环境,而单线程就意味着同一时间只能做一件事,那么 Node.js 如何通过单线程来实现高并发和异步 I/O?本文将围绕这个问题来探讨 Node.js 的单线程模型 。1、高并发策略一般来说,高并发的解决方案就是提供多线程模型,服务器为每个客户端请求分配一个线程...原创 2018-03-12 23:35:53 · 1633 阅读 · 0 评论 -
nodejs---关于真正理解Node.js事件循环你需要了解的一切
原文出处 What you should know to really understand the Node.js Event LoopNode.js是一个基于事件的平台。这意味着Node中发生的任何事情都是对于事件的响应。传入Node的数据处理要经历一层层嵌套的回调。这一流程相对于开发者被抽象出来,由一个叫做libuv的库处理,就是libuv为我们提供了事件循环机制。事件循环也许是Node中最...翻译 2018-03-12 23:33:00 · 795 阅读 · 0 评论 -
对Java Serializable(序列化)的理解和总结
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候; b)当...转载 2018-03-17 23:45:17 · 171 阅读 · 0 评论 -
程序员面试,为什么不跟我谈高并发?
作为一个看过几千份简历,面试过几百人的面试官,常常会看到简历中有如下文字:对业务逻辑解耦,高并发等有比较深入的研究和丰富的开发实战经验对解决高并发问题有深入理解熟悉大并发技术,如:反向代理、负载均衡、Keepalived而当我在面试中,问及对方的职业规划的时候,也有一大半人会回答希望将来可以处理高并发业务希望学习高并发相关技术希望开发数千万/数亿级别并发的应用但是当我问及以下问题的时候,绝大多数人...转载 2018-05-27 11:20:41 · 803 阅读 · 0 评论