第一章 微服务与Spring Cloud

Netflix

线影片租赁提供商,主要提供Netflix超大数量的DVD并免费递送

很大程度上而言,Spring Cloud 1.0 是基于Netflix OSS组件。在Spring环境中,Spring Cloud 非常友好地集成了Netflix 组件,使用了和Spring Boot相似的自动配置和惯例优于配置。

Pivotal

pivotal
英 ['pɪvətl] 美 ['pɪvətl]
adj. 关键的;中枢的;枢轴的
n. 关键事物;中心事物

Spring以及衍生框架、做缓存Redis、消息队列框架RabbitMQ、还有更牛的Greenplum(数据仓库和商业智能),这些都是Pivotal公司的
和 分布式缓存GemFire架构

大数据+云的PaaS平台+敏捷开发

PAAS平台即(Platform-as-a-Service:平台即服务),把应用服务的运行和开发环境作为一种服务提供的商业模式。

DevOps

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务, 开发和运营工作必须紧密合作

gRPC

是一个高性能、开源和通用的RPC框架,面向移动和HTTP/2设计。
目前提供C、Java和Go语言版本,分别是grpc、grpc-java、grpc-go。
gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。
这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
gRPC由google开发,是一款语言中立、平台中立、开源的远程过程调用系统。

SOA

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。

阿里开源的Dubo是SOA的典型实现
Dubo 主要做 服务治理框架,其配置中心,用Nacos

微服务

架构风格
拆分成多个相互独立的微服务,各个微服务之间是松耦合的。
通过各种远程协议进行同步/异步通信,
各微服务均可以被独立部署,扩/缩以及升/降级

服务监控:
hystrix 和 turbine

hystrix
豪猪

turbine
英 ['tɜːbaɪn; -ɪn] 美 ['tɝbaɪn]
n. [动力] 涡轮;[动力] 涡轮机

链路监控:
sleuth+ zipkin

sleuth
英 [sluːθ] 美 [sluθ]
n. 侦探;警犬
vi. 做侦探;侦查

Dubbo 是一款高性能的 java RPC框架

分布式跟踪

zipkin
分布式跟踪

SkyWalking 分布式追踪系统 (cloud可以继承,更牛逼)
吴晟shèng 开源并提交到apache 孵化器的陈品
同时吸收了 、Zipkin Pinpoint CAT
支持非侵入式埋点
java技术栈 推荐使用Pinpoint Skywalking
本书 介绍了 Spring cloud Sleuth 和上面两个

其他:
Dapper–Google生产环境下的分布式跟踪系统,应运而生。

DDD

领域驱动设计(DDD:Domain-Driven Design)
  Eric Evans的“Domain-Driven Design领域驱动设计”简称DDD,Evans DDD是一套综合软件系统分析和设计的面向对象建模方法

中间件

中间件 操作系统 数据库 并列为 基础软件的三驾马车

本质可以归属于 技术架构

服务治理中间件
配置中心
全链路监控

sky
英 [skaɪ] 美 [skaɪ]
n. 天空;顶点
vt. 把…投向空中;把…挂得过高

SkyWalking 分布式追踪系统

分布式事务
分布式定时任务
消息中间件
API网关
分布式缓存
数据库中间件

SpringCloud

Zuul 所属项目 spring-cloud-netflix 为第一代网关
Gateway 所属项目 spring-cloud-gateway 第二代网关

设计理念: Integrate Everything 充分利用现有开源框架,在它们之上设计一套统一规范,能够无缝切换底层实现

integrate
英 ['ɪntɪgreɪt] 美 ['ɪntɪɡret]
vt. 使…完整;使…成整体;求…的积分;表示…的总和
vi. 求积分;取消隔离;成为一体
adj. 整合的;完全的
n. 一体化;集成体

第一代网关

处理每个请求的方式是分别对每个请求分配一个线程来处理
最多能达到1000 至 2000 QPS

第二代网关

Gateway 是 基于 Spring5.0 Spring Boot 2.0 和 Project Reactor
Project Reactor(以下简称“Reactor”)与Spring是兄弟项目,侧重于Server端的响应式编程
底层基于 Netty 实现
安全 监控/埋点 限流

netty

netty的线程模型是多线程reactor模型,使用boss线程和worker线程接收并异步处理请求,具有很强大的高并发处理能力

Archaius

是Netflix公司开源项目之一,基于java的配置管理类库,主要用于多配置存储的动态获取。

QPS

每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

Halo

Halo是一款使用Java开发的开源博客系统,致力于打造最好的Java博客系统,且只想安安静静的做一个博客系统。

驱动领域 halo框架的设计,与 cloud 无缝整合

RPC

RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

Feign 底层是 http协议,性能性对低下

所以要在 Cloud 中继承 gRPC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值