文章主人公:小明,就职于某互联网公司,从事后端开发工作。最近小明收到通知公司需要开发一款《证件照》应用,需要征集架构方案,主要功能包括: 小明虽然从事后端开发工作,但是一直很关注架构这方面的知识,以往都是开发大佬们架构好的应用现在有机会自己去实践下,打算把自己学到的知识应用于实际案例中来。 小明的脑海里是回想了下架构的基本三原则: 合适优于业界领先 简单优于复杂 演化优于一步到位 小明作为架构新手,虽然干劲十足,但是也像大部分一样开发人员一样架构经验较少,不知道如何下手去开始架构,万事开头难啊!小明请教了下公司的西…

2019年11月11日 0条评论 615点热度 0人点赞 李锋镝 阅读全文

目前我在互联网公司里干了1年多,接触了多位技术和业务的架构师,由于我正在升级到架构师,所以能直观地感受到高级开发和架构的差距,而且,对于高级开发如何升级到架构师,本人目前更有切身体会。本文将结合我在互联网公司的工作体验,和大家分享下架构师和高级开发在工作中的侧重点,由此能给大家带来升级到架构师的启示。 1 差距首先体现在工作态度上 架构师或立志升级到架构师的高级开发,平时工作中一定有如下的特质。 1 出了问题第一时间去调查分析问题,哪怕这个问题看上去和自己无关,而不是想办法推脱问题。 2 上班的时候,基本没时间看无…

2019年11月6日 0条评论 576点热度 0人点赞 李锋镝 阅读全文

随着移动互联网的发展和智能终端的普及,计算机系统早就从单机独立工作过渡到多机器协作,集群按照分布式理论构建出庞大复杂的应用服务,在分布式的基础上正进行一场云原生的技术革命,彻底打破传统的开发方式,解放了新一代的生产力。 分布式系统知识体系大图 关注“阿里巴巴云原生”公众号,回复“分布”,即可下载分布式系统及其知识体系清晰大图! 基础理论 SOA 到 MSA 的进化 SOA 面向服务架构 由于业务发展到一定程度后,需要对服务进行解耦,进而把一个单一的大系统按逻辑拆分成不同的子系统,通过服务接口来通讯。面向服务的设计模…

2019年10月18日 0条评论 593点热度 0人点赞 李锋镝 阅读全文

当提起这三个词的时候,是不是很多人都认为分布式=高并发=多线程? 当面试官问到高并发系统可以采用哪些手段来解决,或者被问到分布式系统如何解决一致性的问题,是不是一脸懵逼? 确实,在一开始接触的时候,不少人都会将三者混淆,误以为所谓的分布式高并发的系统就是能同时供海量用户访问,而采用多线程手段不就是可以提供系统的并发能力吗? 实际上,他们三个总是相伴而生,但侧重点又有不同。 什么是分布式? 分布式更多的一个概念,是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段。 该领域需要解决的问题极多,在不同的技术层面上…

2019年10月18日 0条评论 576点热度 0人点赞 李锋镝 阅读全文

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。 最初的需求 几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是蓝海。只要…

2019年10月9日 0条评论 615点热度 0人点赞 李锋镝 阅读全文

1、背景 说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。 的确在这些人眼中分层只是一个形式,前辈们的代码这么写的,其他项目代码这么写的,那么我也这么跟着写。 但是在真正的团…

2019年10月8日 0条评论 585点热度 0人点赞 李锋镝 阅读全文

什么是RESTful 出处 2000 年 Roy Fielding 的博士论文中(论文地址见下方,感兴趣的可以看看),Roy Fielding是 HTTP 规范的主要编写者之一、Apache服务器软件的作者之一、Apache基金会的第一任主席。 论文REST章节地址:Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST) 论文地址:Architectural Styles and the Design of Network-b…

2019年9月26日 0条评论 596点热度 0人点赞 李锋镝 阅读全文

1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。 地址:https://gith…

2019年7月25日 0条评论 589点热度 0人点赞 李锋镝 阅读全文

分布式锁有很多种实现方式,下面是用redis实现的一个比较简单实用的方式。源码如下: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data…

2019年7月20日 0条评论 622点热度 0人点赞 李锋镝 阅读全文

UML(Unified Modeling Language)统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。 UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简…

2019年6月29日 0条评论 698点热度 0人点赞 李锋镝 阅读全文
12