5 范桂飓

尚未进行身份认证

我要认证

若抽象才是美之定义,追求明确性的我们是否象征着丑陋。

等级
TA的排名 373

软件架构的本质

目录文章目录目录架构师到底是做什么的?什么是软件架构?软件架构的本质架构的过程,即:建模的过程业务建模系统建模抽象能力抽象纵向层次抽象横向模块抽象的评估原则抽象的方法论参考文档架构师到底是做什么的?什么是软件架构?在百度百科上的定义:架构,又名软件架构,是有关软件整体结构与组件的抽象描述,⽤于指导⼤型软件系统各个方面的设计。在 Wikipedia 上的定义:Architecture is both the process and the product of planning, des

2020-09-20 15:11:41

分布式系统(Distributed Systems)架构基础理论

目录文章目录目录CAP 定理BASE 理论CAP 定理CAP 定理是分布式系统设计中最基础,也是最为关键的理论。它指出,分布式数据存储不可能同时满足以下三个条件。一致性(Consistency):每次读取要么获得最近写入的数据,要么获得一个错误。可用性(Availability):每次请求都能获得一个(非错误)响应,但不保证返回的是最新写入的数据。分区容忍(Partition tolerance):尽管任意数量的消息被节点间的网络丢失(或延迟),系统仍继续运行。也就是说,CAP 定理表明,

2020-09-20 14:22:07

APIGW vs ServiceMesh

目录文章目录目录APIGW vs ServiceMesh原本清晰的界限:定位和职责APIGW 访问内部服务,算东西向还是南北向?Sidecar:真正的重合点如何融合东西向和南北向的通讯方案?BFF:把融合进行到底总结参考文档APIGW vs ServiceMesh微服务中的 Service Mesh 是处理进程间通信的可配置网络基础结构层。这和通常称为 Sidecar(边车)代理或 Sidecar 网关的东西很像。它提供了许多功能,例如:负载均衡服务发现健康检查安全性从表面上看,APIG

2020-09-20 12:38:58

API Gateway

目录文章目录目录微服务架构中的 API 问题API GatewayAPI 的组合/聚合Kong GatewayAPIGW vs ServiceMesh微服务架构中的 API 问题根据 Gartner 对微服务的定义:“微服务是范围狭窄、封装紧密、松散耦合、可独立部署且可独立伸缩的应用程序组件。”与将模块高度耦合并部署为一个大的应用程序相比,微服务的目标是将应用程序充分分解或者解耦为松散耦合的许多微服务或者模块,这样做对下面几点有很大帮助:每个微服务都可以独立于应用程序中的同级服务进行部署、升级、

2020-09-17 23:27:30

分层设计与领域设计融合架构设计

目录文章目录目录传统分层架构存在的问题领域驱动设计领域驱动设计思想领域驱动设计面临的问题传统分层架构存在的问题传统的分层架构会在 Service 层、Manager 层实现具体的业务逻辑,使用 DO、DTO、BO、VO 等进行数据传输,数据和行为基本完全隔离。Service 层:相对具体的业务逻辑服务层。Manager 层:通用业务处理层,具有有如下特征:对第三方平台封装的层,预处理返回结果及转化异常信息。对 Service 层通用能力的下沉,如:缓存方案、中间件通用处理。与 DAO

2020-09-15 00:00:37

Git 分布式版本控制系统

目录文章目录目录GitGit 的数据结构Git 的基本概念Git FlowGitGit 是一个免费的、开源的分布式版本控制系统(Version Control System),本质是一个内容寻址文件系统(Content addressable filesystem)。即:Git 的核心是一个简单的键值对数据库(Simple key-value data store)。你可以向 Git 插入任意类型的内容,它会返回一个键值(Hash,SHA-1 散列),通过该键值可以在任意时刻再次检索该内容。而这些数

2020-09-14 22:05:13

Git 常用指令

目录文章目录目录基本概念新建 Local Repo配置查看信息增/删文件提交代码分支管理标签管理远程同步撤销修改参考文档基本概念Workspace:本地工作区。Index/Stage:本地暂存区。Repository:本地仓库。Remote:远程仓库。HEAD:当前版本指针,上一个版本是 HEAD^,以此类推。新建 Local Repo# 在当前目录新建一个 Git Local Repo$ git init# 从 Remote Repo 下载为 Local Repo,并且保留整

2020-09-14 19:08:22

Github 工作流程

目录文章目录目录Github FlowGithub Flow 使用规范流程1、新建分支2、提交分支修改3、与 Remote Repo 的 Master 主干保持同步4、合并多个 Commits5、推送提交到远程仓库6、发出 Pull RequestGithub FlowGithub Repo 只有一个长期分支,就是 Master。官方推荐的流程如下:根据需求,从 Master 主干拉出本地的新分支。新分支开发完成后,或者需要讨论的时候,就向 Remote Repo 发起一个 Pull Requ

2020-09-14 18:37:01

Go 语言编程 — go-swagger

目录文章目录目录go-swagger参考文档go-swaggergo-swagger 是一个 Golang 的第三方库,是一个 Swagger 2.0(aka OpenAPI 2.0)的 Golang 实现。Github:https://github.com/go-swagger/go-swaggergo-swagger 内含了许多包,其中关键得有:go-openapi:OpenAPI 的 Golang 实现。govalidator:可以对 Golang 的字符串、结构体以及集合进行校验

2020-09-12 21:53:56

YAML 基本语法

目录文章目录目录YAMLBooleanString 对象List & Hash 对象YAML以 --- 开始,以 ... 结尾。同一级别的成员(e.g. List 元素)使用 - 来辨识。注释以 # 开头。Booleanboolean 值的写法没有严格限制。create_key: yesneeds_agent: noknows_oop: Truelikes_emacs: TRUEuses_cvs: falseString 对象使用 | 换行、> 忽略换行。i

2020-09-12 18:28:37

API 设计规范

目录文章目录目录API 设计规范Design-First(设计优先)Code-First(编码优先)API 设计规范通常,设计 API 规范有两个方向,Design-First(设计优先) 或 Code-First(编码优先)。Design-First(设计优先)即优先设计 API 规范,设计完成后再着手进行代码开发工作。推荐使用 OpenAPI-GUI v3 来设计 API 描述文件。采用 Design-First 就意味着,将设计 API 路由、参数等工作提前,后续整个软件开发的流程都需要围

2020-09-12 18:15:55

Swagger & OpenAPI Specification

目录文章目录目录Swagger 和 OpenAPIAPI 规范Design-First(设计优先)Code-First(编码优先)参考文档Swagger 和 OpenAPISwagger Specification 是一种 API Specification(API 规范),2015 年,SmartBear Software 将 Swagger Specification 捐赠给 Linux Foundation,并改称为 OpenAPI Specification,简称(OAS)。SmartBear

2020-09-09 20:44:09

Web、HTTP Server、API Service、Application

目录文章目录目录WebHTTP ServerAPI ServiceApplicationWebWeb(World Wide Web,全球广域网),也称:万维网,它是一种基于 HTML(超文本标记语言)和 HTTP 协议的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在 Internet 之上的一种网络服务,为浏览者(浏览器)在 Internet 上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将 Internet 上的信息节点组织成一个互为关联的网状结构。一个典型的

2020-09-08 23:58:56

Serverless

目录文章目录目录请求驱动分布式运行时请求驱动请求驱动,也就是支持基于请求的动态弹性伸缩并且简化请求处理逻辑。有些同学可能把这个模型称之为 Event-driven,也就是事件驱动,但是请求驱动实际是事件驱动中的一个分支。什么是请求驱动呢?从传统的微服务架构看,当一个外部系统请求进来后,一般都会经过一个 L4/L7 的负载均衡,然后给到不同的微服务实例上面。在同一个微服务实例本身进程的内部,一般会有两块逻辑,第一块逻辑是请求管理,它可能是一个 HTTP Server 和一些 Handlers,有一

2020-09-07 23:11:55

Service Mesh

目录文章目录目录微服务架构与云原生Service Mesh流量治理微服务架构与云原生从微服务架构的思想,我们可以感受到微服务架构、DevOps 和容器技术自然地走到了一起,构成了云原生应用架构的雏形。在云原生时代,微服务的特点:平台化:利用云作为一个平台,为微服务架构进行更多的赋能。标准化:我们希望微服务本身的部署、运维,微服务之间与其它服务之间的通讯都能做到标准化,让服务与服务之间的互联互通变得更容易,服务能够跨到不同的平台上,做到一次编写、一次定义、多处运行。微服务轻量化:让研发人员

2020-09-06 18:22:07

微服务架构设计原则

目录文章目录目录请求驱动分布式运行时可信安全请求驱动请求驱动,也就是支持基于请求的动态弹性伸缩并且简化请求处理逻辑。有些同学可能把这个模型称之为 Event-driven,也就是事件驱动,但是请求驱动实际是事件驱动中的一个分支。什么是请求驱动呢?从传统的微服务架构看,当一个外部系统请求进来后,一般都会经过一个 L4/L7 的负载均衡,然后给到不同的微服务实例上面。在同一个微服务实例本身进程的内部,一般会有两块逻辑,第一块逻辑是请求管理,它可能是一个 HTTP Server 和一些 Handler

2020-09-06 15:20:30

微服务框架

目录文章目录目录微服务架构的问题如何拆分服务服务间如何通信微服务框架API 网关配置中心服务中心通信中间件熔断、服务降级、限流Service Mesh文档微服务治理监控链路跟踪日志分析微服务架构的问题微服务架构中,服务之间会有错综复杂的依赖关系,例如:一个前端请求一般会依赖于多个后端服务,称为 “1=>N 扇出”。在实际生产环境中,服务往往不是百分百可靠,服务可能会出错或者产生延迟,如果一个应用不能对其依赖的故障进行容错和隔离,那么该应用本身就处在被拖垮的风险中。在一个高流量的网站中,某个单一后

2020-09-06 14:59:38

微服务架构与云原生

目录文章目录目录康威定律单体(Monolithic)架构微服务(Microservice)架构优势问题微服务架构与敏捷宣言微服务架构与容器微服务架构与 DevOps微服务架构于云原生如何拆分服务服务间如何通信微服务框架API 网关配置中心服务中心通信中间件熔断、服务降级、限流Service Mesh文档微服务治理监控链路跟踪日志分析康威定律康威定律(Conway’s Law)是马尔文·康威 1967 年提出的:“设计系统的组织,其产生的设计和架构等价于组织间的沟通结构。。” 即:系统设计本质上反映了企

2020-09-06 14:42:04

CentOS7 升级 Git 版本

目录文章目录目录安装依赖包安装 Git安装依赖包yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc gcc perl-ExtUtils-MakeMaker tcl xmlto autoconf automake libtool unziplibiconv-1.14.tar.gzwget http://ftp.gnu.org/pub/gnu/libiconv/libico

2020-09-04 16:13:53

经典软件架构指标

目录文章目录目录性能可靠性可用性弹性可信赖性可伸缩性安全性互操作性可调整性可部署性可测试性简单性可移植性易用性可扩展性抗脆弱性可升级性合规性成本可存档性可审核性 / 可跟踪性性能性能是指响应能力:响应特定事件所需的时间,或给定时间间隔内处理的事件数。性能具有以下指标:延迟 :表示获得响应之前经过的时间间隔。吞吐量:是指在固定时间间隔内获得的响应数。可用容量:以上度量的结合体。可调度的利用率:利用率是资源繁忙时间的百分比,而可调度的利用率是满足一定时间要求的最大利用率。数据丢失:如果使用缓存

2020-08-30 22:49:25

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 博客之星
    博客之星
    授予通过"CSDN博客之星评选"中脱颖而出的十大博客之星称号的用户。
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取