![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件架构设计
文章平均质量分 90
云水之路
架构攻城师
展开
-
分布式架构设计之电商平台
何为软件架构?不同人的答案会有所不同,而我认为一个好的软件架构除了要具备业务功能外,还应该具备一定的高性能、高可用、高伸缩性及可拓展等非功能需求。而软件架构是由业务架构和技术架构两部分组成,因为有了业务结构才会催生出软件架构,进而来满足业务上的需求,所以,在做软件架构设计时,需要分为业务架构设计和技术软件架构设计,二者不可分离哦!那么,接下来就以本人实际工作中的电商平台为例,进行说明电商平台架构设计,因为不同行业产品系统不同业务不同,而催生的系统软件的实现要求及架构设计就不同了!原创 2016-10-15 16:23:43 · 24001 阅读 · 4 评论 -
什么是微服务?
什么是微服务? 很高兴与各位读者朋友见面,本篇内容是微服务系列的首篇文章,也是本人后期撰写原创微服务架构文章的开始,希望自己的一些经验分享,能够助力于各位读者朋友在微服务架构之路上顺风顺水。作为首篇文章,我会以最为基础的概念为开始,介绍下什么是微服务及其与SOA服务架构的异同;然后,会以一个整体的微服务架构图及详解作为第二部分内容;最后,会搭建一个基础入门的注册中心(HA)...原创 2018-10-15 11:11:00 · 1788 阅读 · 0 评论 -
RPC远程协议之Thrift非阻塞多线程处理
RPC远程协议之Thrift非阻塞多线程处理 在上一篇文章《RPC远程协议之Thrift入门》中,我已经介绍了Thrift的基本使用,并举例验证了如何使用,当然这个例子是阻塞单线程的模式,实际客户端请求增多,单线程处理时间变长时,无可厚非就会卡顿延迟,所以需要实现非阻塞多线程的通信模式,而Thrift已经想到,并且为我们提供好了几种Server的实现方式,以供在实际业务需求下做出合适的选择。本篇文...原创 2018-03-06 17:25:37 · 4250 阅读 · 3 评论 -
RPC远程协议之Thrift入门
RPC远程协议之Thrift入门 在上一篇文章《RPC远程协议之原理分析》中,我介绍了RPC的工作原理及欲实现RPC框架功能应该做哪些事情,因为要做的事情太多,完全由开发人员研发实现,不是很现实,所以市面上出现了诸多RPC快捷框架,目前主流的有Facebook的Thrift、谷歌的gRPC,以及Dubbo,但就性能角度考虑,Thrift相对好些,并且是跨语言的,所以这里先以Thrift的介绍开始。...原创 2018-03-03 20:21:47 · 2822 阅读 · 0 评论 -
RPC远程协议之原理分析
RPC远程协议之原理分析 在近几年工作中发现,功能服务化或微服务化越来越流行,逐渐成为实现中大型分布式系统架构的主要方式,而在分布式系统中的不同节点应用间的通信中,RPC远程协议扮演关键作用。实际上,在日常工作中,我们也多多少少使用过RPC协议方案,对于初级的程序员来说,RPC显得很神秘,而经验丰富些的程序员虽可使用,但对其工作原理理解的并不是很深刻,往往会误用,这里就我理解来详细介绍下。 l ...原创 2018-03-02 17:07:33 · 2526 阅读 · 0 评论 -
分布式架构设计之Rest API版本管理
分布式架构设计之Rest API版本管理:随着互联网发展脚步的加快,产品项目的迭代也随之加快,所以就需要我们对产品的稳定提供一定的保障。而直接与用户接触的前端应用一般都是通过接口API与后台交互,一旦相关的API需求改版后,原来的API就不能使用,需要重新发布更新,如果前端产品是移动APP应用,比如:android/ios,那么就必须重新提交应用审核,等待若干天的审核发布是很不好的,严重影响用户的使用,所以建立API版本,使新改版的接口API不影响老版本的API使用,就显得很有必要了,那么接下来就介绍下。原创 2017-08-26 19:50:06 · 7698 阅读 · 5 评论 -
分布式架构设计之Rest API HAL
分布式架构设计之Rest API HAL在上一篇文章《分布式架构设计之Rest API》中,我对什么是Rest进行了详细的介绍,同时以书本的CRUD为例,实现了Rest API的基本操作。但是细心的读者可能会发现,所有接口返回的数据格式并不统一,没有一定的规范性,更重要的是接口通信的内容并未很明确地体现“资源”的概念,所以在这篇文章就来介绍下现在流行的HAL风格的数据格式,需要提及的是:HAL(Hypertext Application Language)是一种API数据格式风格,同时也能规范接口通信内原创 2017-08-15 16:06:18 · 4365 阅读 · 0 评论 -
分布式架构设计之Rest API
近几年,以资源为中心的表述性状态转移(Representational State Transfer,REST)越来越受欢迎,它完美地替代了传统的基于SOAP的Web服务方案,同时它关注的是数据的处理,而后者则关注于动作行为的处理。对于REST,常有人错误的将其视为“基于URL的Web服务”,也就将REST认为是另一种类型的远程调用(Remote Procedure Call,RPC)机制。实际上,REST与RPC几乎并没有任何关系,RPC是面向服务的,关注于行为和动作;而REST是面向资源的,关注在数据的原创 2017-08-05 14:07:47 · 4718 阅读 · 0 评论 -
分布式架构设计之基础软件系统架构
分布式架构设计之软件系统架构一个好的系统架构需要从三方面进行设计:首先,我们必须明确系统的整体需求功能是什么,进而再对这些需求分模块以及构建模块间的交互设计,同时要明确相关技术的选型;然后,针对物理节点上的拓扑结构是必不可少的,比如:Web Server的负载分发、数据的集群等,这部分是属于架构的“硬实现”部分;最后,就是整体的软件系统的设计,这部分是整个系统架构的“软实现”,主要从系统内部软件系统角度实现设计,比如:基础通信服务、数据安全服务等。对于前两者的设计,读者可以参考上一篇文章《分布式架构设计之原创 2017-07-02 17:14:58 · 16691 阅读 · 0 评论 -
Eureka源码分析-环境构建篇
承接上一篇文章《什么是微服务》,我们已经对微服务有一定了解,并且以一个实现了注册中心、服务提供者及消费者的例子作为文章的结尾,而本篇文章,主要介绍Eureka源代码的环境构建及示例调试。 环境构建 调试方式 运行原理 示例调试 一、环境构建学习一门新技术的原理和根本,最好的方式就是研究它的源代码,搞懂它是如何诞生的,同时,也考虑下为什么这样去设...原创 2018-10-23 12:56:47 · 3088 阅读 · 0 评论