自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

烟云的计算

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

  • 博客(20)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 Go 语言编程 — validator 数据校验工具

目录文章目录目录ValidatorQuick start约束类型范围约束跨字段约束ValidatorValidator 是一个 Golang 的第三方库,用于对数据进行校验,常用于 API 的开发中,对客户端发出的请求数据进行严格校验,防止恶意请求。Github:https://github.com/go-playground/validator安装:go get gopkg.in/go-playground/validator.v10使用:import "github.com/go-

2020-09-27 23:37:20 3733

原创 软件架构的本质

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

2020-09-20 15:11:41 1940

原创 架构师之路 — 分布式系统 — CAP 定理

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

2020-09-20 14:22:07 1453

原创 Service Mesh — APIGW vs ServiceMesh

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

2020-09-20 12:38:58 1677

原创 API Gateway

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

2020-09-17 23:27:30 2025

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

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

2020-09-15 00:00:37 2017

原创 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 1751 2

原创 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 2100 2

原创 Git Flow 研发流程

目录文章目录目录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 1929 1

原创 Go 语言编程 — go-swagger OpenAPI 工具

目录文章目录目录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 4901 2

原创 Kubenetes — 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 1480

原创 架构师之路 — API 经济 — 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 2402

原创 架构师之路 — API 经济 — 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 2688

原创 架构师之路 — API 经济 — Web、HTTP Server、API Service、Application

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

2020-09-08 23:58:56 2116 2

原创 FaaS — Serverless — 实现原理

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

2020-09-07 23:11:55 1941

原创 Service Mesh — Istio

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

2020-09-06 18:22:07 1895

原创 微服务架构 — 设计原则

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

2020-09-06 15:20:30 2268

原创 微服务架构 — 服务治理 — 服务监控与告警、服务日志与审计

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

2020-09-06 14:59:38 5219

原创 微服务架构 — Overview

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

2020-09-06 14:42:04 2618

原创 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 1893 1

5G 核心网关键技术和对业务的支撑.pdf

5G 核心网关键技术和对业务的支撑.pdf

2020-04-30

中国联通智能MEC技术白皮书.pdf

中国联通智能MEC技术白皮书.pdf

2020-04-30

H3C_CAS安装指导V1.0.docx

H3C_CAS安装指导V1.0.docx

2017-02-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除