谈对技术架构实际应用的一些理解

最近接触了一些技术架构的概念,除了叹服于精美的架构设计思想外,也引发了将技术架构应用于自己应用中的思考。

首先剖析下我们的应用架构。目前我们的应用一直处于一个平稳阶段,针对业务需求快速开发上线,其中并没有太多架构设计。好在QPS不会太高,长时间下来倒没有表现上的问题,但代码维护成本却与日俱增。具体的问题主要集中在代码耦合度非常高,依赖关系强。同一个应用针对不用UI有多套代码,新的业务需求如果要适用于整个应用的话需要再在每个UI中加入相同的判断与处理。长此以往代码体积变得越来越庞大与不可维护。

问题是互通的,既然我们没有走在最前面,那么我们遇到的问题别人一定会遇到,好在这些问题也早就有了非常成熟的解决方案。目前非常流行火热的技术微服务就能很好的解决这个问题。微服务这么火热不仅仅是因为许多大公司再用的原因。微服务通过分解巨大单体式应用为多个服务方法解决了复杂性问题。在功能不变的情况下,应用被分解为多个可管理的分支或服务。每个服务都有一个用RPC-或者消息驱动API定义清楚的边界。微服务架构模式给采用单体式编码方式很难实现的功能提供了模块化的解决方案,由此,单个服务很容易开发、理解和维护。而且微服务架构模式是每个微服务独立的部署。开发者不再需要协调其它服务部署对本服务的影响。这种改变可以加快部署速度。微服务架构模式使得每个服务独立扩展。你可以根据每个服务的规模来部署满足需求的规模。

说了这么多微服务的优点。那么微服务就没有缺点嘛。和其他技术机构一样,微服务也存在着自己的不足。微服务分布式会带来固有的复杂性。消息传递必须通过网络,开发者需要对每个调用接口做到很好的状态控制。在增加通讯成本的前提下也大大增加了安全风险。虽然现在也有很多成熟的网络通讯解决方案。但这无疑增加了开发者的开发成本。开发者需要在RPC或者消息传递之间选择并完成进程间通讯机制。另外一般微服务每个服务都会拥有自己的数据库。在微服务架构应用中,需要更新不同服务所使用的不同的数据库。

最后,也许非常多成熟的架构还不能直接应用,可能在结构优化中还有许多路要走,但他们会指引我们方向,使我们快速探索到属于自己的架构。

时间: 2024-11-03 21:38:52

谈对技术架构实际应用的一些理解的相关文章

千亿级数量下日志分析系统的技术架构选型

?? 随着数据已经逐步成为一个公司宝贵的财富,大数据团队在公司往往会承担更加重要的角色.大数据团队往往要承担数据平台维护.数据产品开发.从数据产品中挖掘业务价值等重要的职责.所以对于很多大数据工程师,如何根据业务需求去选择合适的大数据组件,做合适的大数据架构工作就是日常工作中最常遇到的问题.在这里根据七牛云在日增千亿级的日志分析工作,和大家分享一下大数据技术架构选型的一些经验.? 大数据架构师在关注什么 ?在一个大数据团队中,大数据架构师主要关注的核心问题就是技术架构选型问题.架构选型问题一般会

从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)

从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,认为它们非常是神奇,而神奇的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,认为Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理. 由此,近期凡是空暇时,便在看"Hadoop","MapReduce""海量数据处理"这方面的论文.但在看论

海量数据处理之从Hadoop框架与MapReduce模式中谈海量数据处理(淘宝技术架构)

几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,觉得Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理. 由此,最近凡是空闲时,便在看"Hadoop","MapReduce""海量数据处理"这方面的论文.但在看论文的过程中,总觉得那些论文都是浅尝辄止,常常看的很不过瘾,总是一个东

浅谈大型网站架构技术进化

短短几十年国内互联网发生了翻天覆地的变化,特别是国家支持互联网发展,提出了“互联网+”行动计划,国内各行各业的互联网更是日新月异.作为一个九零后小白没有亲身经历互联网的演变历程,如今看的像淘宝.京东.腾讯这样的大型网站充满了无数的好奇心,这些网站是怎么运作的,如何处理大量用户的请求,如何解决海量的数据库处理···于是才有对于大型网站架构核心原理以及实例分析一系列的笔记记录.所有笔记记录参考<大型网站技术架构核心原理以及案例分析>,该系列文章没有太多的代码展示,着重是对理论知识的描述. 互联网无

简谈9种高性能高可用高并发的技术架构

每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复工作. 所谓网站架构模式即为了解决大型网站面临的高并发访问.海量数据.高可靠运行等一系列问题与挑战.为此,在实践中提出了许多解决方案,以实现网站高性能.高可靠性.易伸缩.可扩展.安全等各种技术架构目标. 一.分层 分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对简单并比较单一的职责,然后通过上层对下层的依赖和调度组成一个完整的系统

[转]专访企业QQ SaaS团队,谈企业级LNMP架构设计

FROM : http://www.csdn.net/article/2014-08-20/2821302-interview-tencent-b-qq-shuai-wang 对比IaaS和PaaS,SaaS得到的关注显然要少一些.究其根本,不仅因为SaaS关注的是功能方面的探索,更偏向于某个领域或层面的实际应用,还归结于相较前两者,软件的云化已基本趋于成熟,些许突破并不能带来产业上的变革.然而,较少的关注并不意味着缺乏明星产品:放眼国外,企业级SaaS服务已成为许多公司的一项重要收益来源,比如

【开源】浅谈Hybrid技术的设计与实现第二弹

前言 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) PS:据说加个开源在前面阅读量高点,于是就试试咯...... 上文说了很多关于Hybrid的概要设计,可以算得上大而全,有说明有demo有代码,对于想接触Hybrid的朋友来说应该有一定帮助,但是对于进阶的朋友可能就不太满足了,他们会想了解其中的每一个细节,甚至是一些Native的实现,小钗这里继续抛砖引玉,希望接下来的内容对各位有一定帮助. 进入今天的内容之前我们首先谈谈两个相关技术Ionic与React Nativ

阿里8年资深技术专家谈企业级互联网架构的演进之路

沈询,阿里巴巴中间件&稳定性平台资深技术专家,在淘宝工作八年间,主要负责的产品有淘宝分布式数据库(TDDL/DRDS).分布式消息系统(Notify/ONS)等,故对整个分布式的互联网架构比较了解.本文分享围绕阿里技术架构演进及过程中遇到的问题与企业级信息系统架构的演进展开. 阿里技术架构演进及过程中遇到的问题 2003 年,淘宝最初的架构建设是采用 PHP,实践发现系统抗压能力相对薄弱.因为淘宝是一个企业级系统,所以选择了当时非常重要的企业级技术 JavaBean.之后把整个 Web 的容器.

豆瓣技术架构调研

关键字包括:nginx,lighttpd,quixote,Memcached,mogile FS,Mako,Gentoo Linux,Xapian,spreadps:窃以为第一段关于语言的采访,相当[csdn]化 你要是愿意,就买一枝三块钱的玫瑰,送给我吧,这城市也是怪让人伤心的,我想死心塌地的爱上你”   这是一个叫钟童茜的歌手的歌,我在豆瓣网站发现有人评论,才知道了这首有些凄凉的歌曲.你几乎不可能从百度的最流行的mp3的列表中找到它,因为它不是那么有名,也许是这个原因,引发了我采访豆瓣的愿望