架构
文章平均质量分 88
技术宅不太宅
这个作者很懒,什么都没留下…
展开
-
Java程序员:从菜鸟程序员到架构师六步走
在外人眼里,程序员这个职业总是被打上高薪、高大上的标签。可是鬼知道我们经历了什么,付出了多少。但是付出终会有收获的,IT这个行业,多数都是从程序员开始,小编也是怀揣着梦想,从这里出发。01第一阶段:Java基础篇 熟练掌握Java基础语法,理解面向对象;掌握Java异常处理,泛型,集合,多线程,文件IO;另外在UI编程方面对Swing有所了解即可。当然原创 2018-02-02 21:46:11 · 1378 阅读 · 0 评论 -
微服务:Java EE的拯救者还是掘墓人?
有人认为,微服务的大行其道是在给Java EE下达死刑判决书。也有人认为,Java EE已死的论调可笑至极。读者朋友,你们怎么看?引言有人说,Java确实过于臃肿,经常“小题大做”。但PHP、Node.js扩展方面短板太明显,做小应用可以,大型应用就玩不转了。 另外,Java EE领域有太多优秀框架可以解决开发效率的问题,事实上借用Spring等框架,开发的效率丝毫不亚于PHP。互联网时代的Jav...原创 2018-03-19 20:57:11 · 1022 阅读 · 0 评论 -
大型网站架构系列:负载均衡详解
一、软件负载均衡概述硬件负载均衡性能优越,功能全面,但是价格昂贵,一般适合初期或者土豪级公司长期使用。因此软件负载均衡在互联网领域大量使用。常用的软件负载均衡软件有Nginx,Lvs,HaProxy等。本文参考大量文档,部分为直接拷贝。二、Ngnix负载均衡Ngnix是一款轻量级的Web服务器/反向代理服务器,工作在七层Http协议的负载均衡系统。具有高性能、高并发、低内存使用等特点。是一个轻量级...原创 2018-03-13 21:06:15 · 220 阅读 · 0 评论 -
看阿里P9架构师如何向你定义架构及架构师
架构的定义先来看看软件架构的普遍定义吧。一个程序和计算系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系。体系结构并非可运行软件。确切的说,它是一种表达,使软件工程师能够:1.分析设计在满足规定需求方面的有效性。2.在设计变更相对容易的阶段,考虑体系结构可能的选择方案。3.降低与软件构造相关联的风险。软件架构的生命周期软件开发有其生命周期,它应...原创 2018-03-23 19:26:09 · 816 阅读 · 0 评论 -
一篇文章带你走进分布式的世界
什么是分布式系统分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。 首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一...原创 2018-03-14 15:10:45 · 229 阅读 · 0 评论 -
微服务开发中的数据架构设计
前言微服务是当前非常流行的技术框架,通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性。为业务创新和业务持续提供了一个良好的基础平台。本文分享在这种技术架构下的数据架构的设计思想以及设计要点,本文包括下面若干内容。微服务技术框架中的多层数据架构设计数据架构设计中的要点要点1:数据易用性要点2:主、副数据及数据解耦要点3:分库分...原创 2018-03-20 18:50:36 · 180 阅读 · 0 评论 -
干货:Java高并发解决思路大起底
今天在腾讯课堂中看见了关于高并发的这么一个教程,并发问题作为中高级程序员肯定至少会听过,也是十分头疼的问题。于是我就花了点时间去了解了一下。视频地址:https://ke.qq.com/course/185189?flowToken=1000516对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避...原创 2018-03-21 20:42:57 · 275 阅读 · 0 评论 -
阿里架构师:程序员必须掌握的几项技术能力
一、源码分析源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦):只关注项目本身,不懂就baidu一下。除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。除了阅读和项目相关的书外...原创 2018-04-14 22:08:14 · 512 阅读 · 1 评论 -
2018跳槽面试必备之深入理解 Java 多线程核心知识
导语:多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关重要。本文从基础概念开始到最后的并发模型由浅入深,讲解下线程方面的知识。概念梳理本节我将带大家了解多线程中几大基础概念。并发与并行并行,表示两个线程同时做事情。并发,表示一会做这个事情,一会做另...原创 2018-04-02 14:55:06 · 232 阅读 · 0 评论 -
解析分布式锁之redis实现
摘要:分布式架构设计如今在企业中被大量的应用,而在不同的分布式节点进行协同工作的时候,节点服务的时序、结果的正确性以及执行成本也成为了必须考虑的重要因素。其中竞态条件会导致执行结果的不正确,不同服务节点同时处理同一任务也将耗费不必需的系统资源,如果解决呢?方式之一可以选择分布式锁,本文介绍如果通过redis实现分布式锁,也欢迎大家和我一起讨论。分布式锁的基本应用场景和设计原则我们先来看一个简单的案...原创 2018-03-27 21:04:25 · 183 阅读 · 0 评论 -
推荐:微服务入坑详细指南
概念:微服务就是一些可独立运行、可协同工作的小的服务。微服务是现在特别流行的服务,微服务的字面意思是大家都很好理解,就是将系统拆分成很多小的独立系统,每个系统我们看成一个服务,从存储,缓存,部署相对独立。通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性。为业务创新和业务持续提供了一个良好的基础平台。从概念中我们可以提取三个关...原创 2018-03-28 17:46:35 · 498 阅读 · 0 评论 -
中小型公司对于Spring Cloud的选择与思考
在开始之前我们先介绍一下几个概念,什么是微服务,它的特点是什么? Spring Cloud都做了那些事情?他们之间又有什么联系?技术背景什么是微服务微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”。微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与...原创 2018-04-23 17:58:45 · 6338 阅读 · 0 评论 -
大型分布式电商系统架构是如何从0开始演进的?
概述本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。作者简介烂皮猪,十余年工作经验,曾在Google等外企工作过几年,精通Java、分布式架构,微服务架构以及数据库,最近正在研究大数据以及区块链,希望能够突破到更高的境界一、大型分布式网...原创 2018-05-10 18:07:48 · 192 阅读 · 0 评论 -
六年修成架构师,看他告诉你需要哪些软技能!
主人公简介:顾伟,普元信息的主任架构师,也是个不折不扣的程序员型架构师。这些年一直在做产品研发相关的工作,参与研发的产品方向也比较多,从传统的开发平台、服务总线、应用服务器,到这些年的IaaS、PaaS、CaaS、DevOps等;技术方向也比较杂,从一开始的纯前端,到J2EE,到插件开发,再到openstack,cloudfoundry,docker,k8s等。每个人都会有一个或多个飞速发展的阶段...原创 2018-05-10 22:35:01 · 367 阅读 · 0 评论 -
听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和Spring Cloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不大。微服务主要的优势如下:1、降...原创 2018-05-11 19:54:22 · 1349 阅读 · 0 评论 -
看阿里首席架构师是如何选择并落地架构方案的
如何针对当前需求,选择合适的应用架构,如何面向未来,保证架构平滑过渡,这个是软件开发者,特别是架构师,都需要深入思考的问题。无架构,不系统,架构是大型系统的关键。从形上看,架构是系统的骨架,支撑和链接各个部分;从神上看,架构是系统的灵魂,深刻体现业务本质。架构可细分为业务架构、应用架构、技术架构,业务架构是战略,应用架构是战术,技术架构是装备。其中应用架构承上启下,一方面承接业务架构的落地,另一方...原创 2018-05-12 22:39:21 · 281 阅读 · 0 评论 -
纲举目张:带你看看微服务架构的前世今生
资料来源:有群里的朋友给我的一些资料,以及自己百度和论坛、社区找来的一些资料,权当做一个总结式的简介。。。 目录如下:一、微服务架构介绍二、出现和发展三、传统开发模式和微服务的区别四、微服务的具体特征五、SOA和微服务的区别六、如何具体实践微服务七、常见的微服务设计模式和应用八、微服务的优点和缺点九、思考:意识的转变十、参考资料和推荐阅读 一、微服务架构介绍 微服务架构(Microservice...原创 2018-03-19 16:13:56 · 326 阅读 · 0 评论 -
阿里架构师:程序员必须掌握的几项核心技术能力
一、源码分析源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦):只关注项目本身,不懂就baidu一下。除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。除了阅读和项目相关的书外...原创 2018-03-19 13:45:57 · 264 阅读 · 0 评论 -
这些架构模式,别说你不会!
有没有想过要设计多大的企业规模系统?在主要的软件开发开始之前,我们必须选择一个合适的体系结构,它将为我们提供所需的功能和质量属性。因此,在将它们应用到我们的设计之前,我们应该了解不同的体系结构。什么是架构模式?根据维基百科中的定义:架构模式是一个通用的、可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题。架构模式与软件设计模式类似,但具有更广泛的范围。在本文中,将简要地解释以下10...原创 2018-03-12 22:27:20 · 377 阅读 · 0 评论 -
一起来聊聊 Spring 核心机制
百度百科:Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。1、概念:轻量级的(面向切面AOP)、(IOC控制反转原创 2018-02-04 14:43:25 · 388 阅读 · 0 评论 -
随笔聊架构
一、架构的定义所谓一千个架构师中有一千种“最好的架构”模式。“架构”是我们这行业种一个很常见的词,表明其必然也是经历了很长的岁月打磨所形成的一个词。架构的这个词出现的意义是什么?为了解决什么问题?只有把这2个问题想明白了,才能设计出一个良好的项目架构。我认为 架构类似于画房屋设计图,在刚开始我们盖一层楼的小房子的时候,拍拍脑门想一下,脑子里有个大概的样子就开始动工了,想怎么盖就怎么盖,原创 2018-02-05 10:58:43 · 234 阅读 · 0 评论 -
那些你所不知道的分布式架构套路
今天老李跟大伙一起聊聊分布式系统的架构的套路。在开始说套路之前,大家先思考一个问题,为什么要进行分布式架构?大多数的开发者大多数的系统可能从来没接触过分布式系统,也根本没必要进行分布式系统架构,为什么?因为在访问量或者QPS没有达到单台机器的性能瓶颈的时候,根本没必要进行分布式架构。那如果业务量上来了,一般会怎么解决呢?首先考虑的就是机器升级。机器配置的垂直扩展,首先要找到当前性能的瓶颈点,是CP...原创 2018-03-07 16:08:53 · 161 阅读 · 0 评论 -
阿里P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程
阶段一、单机构建网站网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate、maven+spring+springmvc+mybatis;最后再选择一个数据库管理系统来存储数据,如mysql、sqlserver、or...原创 2018-03-07 21:33:54 · 359 阅读 · 0 评论 -
如何用Nginx搭建一个安全的、快速的微服务架构
今天我们要谈论微服务以及如何使用Nginx构建一个快速的、安全的网络系统。最后,将向您展示一个使用Fabric模式如何非常快速和轻松地构建一个微服务的demo。在我们探讨Fabric模式之前,我想谈一谈微服务并且从Nginx的角度来看这意味着什么。0:56 - 大转变微服务已经引起了应用程序架构的重大转变。当我第一次开始构建应用程序时,他们都是差不多的。幻灯片中所展示的单体架构也象征了应用程序的构...原创 2018-03-14 17:33:24 · 822 阅读 · 0 评论 -
程序员跳槽时,如何高效地准备面试?
今天和大家分享的主题是「程序员跳槽时,如何高效地准备面试?」,但其实今天主要涉及到的是 HR 在面试时有哪些套路,这样可以见招拆招,斩获 offer!主要包括以下内容:一、程序员面试过程中,面试官想要从"自我介绍"获得什么信息?二、如何去提炼简历中的精华?如何在沟通中体现你的软技能?三、如何去解释简历中的瑕疵?四、HR通常喜欢问哪些与技术无关的问题?这些问题背后代表了什么?如何应对?五、如何向面试...原创 2018-03-08 14:40:05 · 7366 阅读 · 1 评论 -
微服务架构所要迎接的挑战!你,准备好了吗?
假如你正在运行的微服务少于100,那么你或许可以规避这些问题,但如果将服务扩展到任意更大的量级,这将带来其自有的问题,为了使系统高效运行,你需要解决它们。1:组织性孤立和蔓延Conway法则的反模式表明,公司的组织结构能够映射其软件架构。Fowler-Rigetti称,一家向微服务迁移的公司经常以产生几个孤立的微服务团队告终。另外,由于没有人知道其他团队正在做什么,以及最佳实践无法分享,最终导致技...原创 2018-03-15 16:57:15 · 182 阅读 · 0 评论 -
【重磅】Spring Boot 2.0的蝴蝶效应
就在本月的1号,Spring Boot 2.0.0.RELEASE正式发布,1号在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring Boot官方又赶紧把 GitHub 上发布的 v2.0.0.RELEASE 版本进行了撤回。到了下午将问题修复后,又重新进行了上传,至此Spring Boot2.0正式推出!要...原创 2018-03-15 22:25:12 · 275 阅读 · 0 评论 -
微服务架构详解
什么是微服务首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务。传统的WEB应用核心分为业务逻辑、适配器以及API或通过UI访问的WEB界面。业务逻辑定义业务流程、业务规则以及领域实体。适配器包括数据库访问组件、消息组件以及访问接口等。一个打车软件的架构图如下:尽管也是遵循模块化开发,但最终它们会打包并部署为单体式应用。例如Java应用程...原创 2018-03-09 19:34:56 · 708 阅读 · 0 评论 -
Java高并发高性能分布式框架从无到有微服务架构设计
微服务架构模式(Microservice Architect Pattern)。近两年在服务的疯狂增长与云计算技术的进步,让微服务架构受到重点关注微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业...原创 2018-03-16 19:23:55 · 1370 阅读 · 0 评论 -
架构的本质是管理复杂性,微服务本身也是架构演化的结果
为应对如今无线优先和全渠道用户体验的需求和挑战,我们该如何设计灵活的面向体验的微服务架构?它有哪些模式和最佳实践?携程,Netflix和SoundCloud这些知名互联网公司是如何实践面向体验的微服务架构的?在过去的2015年,大牛马丁福勒对微服务有哪些新的观点?微服务各家玩法不尽相同,我发现一些术语的叫法各公司也是不同的,可以说微服务目前仍在激烈的演化中,这个领域还未成熟和标准化,所以今天的分享...原创 2018-03-16 21:01:07 · 318 阅读 · 0 评论 -
干货:软件架构发展历程
什么是架构计算机科学和程序设计的飞速发展,使得软件设计应用到从航空航天到日常生活的方方面面。单个人开发一段小程序的做法早就过时,大范围协作的工程化时代随即到来。随着大范围协作的效率问题和软件复杂度的爆炸式增长,管理和技术方面的各种不确定性也爆发性增加,导致软件开发的质量无法得到有效保证,周期和成本无法得到有效控制。人们一直在寻求找到这些问题的解决办法。然而 Fred Brooks 在 1975 年...原创 2018-03-11 16:20:27 · 1782 阅读 · 1 评论 -
通过双十一等项目实践看架构技术
每年“双 11”都是一场电商盛会,消费者狂欢日。今年双 11 的意义尤为重大,它已经发展成为全世界电商和消费者都参与进来的盛宴。而对技术人员来说,双十一无疑已经成为一场大考,考量的角度是整体架构、基础中间件、运维工具、人员等。 一次成功的大促准备不光是针对活动本身对系统和架构做的优化措施,比如:流量控制,缓存策略,依赖管控,性能优化……更是与长时间的技术积累和打磨分不开。下面我将简单介绍支付宝的整...原创 2018-03-22 14:34:58 · 540 阅读 · 0 评论 -
借助JVM生日的时机,说说关于JVM你所不知道的那些事
1991年4月,由James Gosling主导的团队创造了Oak语言,java的前身,1995年5月23号,Oak语言更名Java,并且提出那句注明的:”write Once,Run Anywhere”的口号.1996年1月23日,JDK1.0发布.当时正好赶上浏览器快速崛起,发展的浪潮,大家发现java一处编译到处使用的特性和浏览器很契合,同一个页面不可能每一个操作系统我都写一遍.用现在的话说...原创 2018-05-24 17:36:31 · 286 阅读 · 0 评论