微服务技术交流_第1页
微服务技术交流_第2页
微服务技术交流_第3页
微服务技术交流_第4页
微服务技术交流_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reserved.

|微服务技术交流Shifeng

DengPrinciple

Sales

ConsultantOracle

South

China第一页,共十八页。微服务应用vs.单体应用–单体应用UI产品订单库存用户……服务服务服务服务服务产品订单库存用户……DB浏览器一个特定的应用软件会包括有几百个功能项,所有功能项都打包进了一个单体的应用中。典型的例子有,ERP、CRM等其他各种各样的软件Monolithic传统核心应用使用广泛,优点是:√单独应用是作为一个整体单元来设计、开发、部署,开发简单直接,集中式管理√基本不会重复开发√功能都在本地,没有分布式的管理开销和调用开销缺点也非常明显,特别对于互联网公司来说:√开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断√代码维护难:代码功能耦合在一起,新人不知道何从下手√部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长√稳定性:一个微不足道的小问题,可以导致整个应用挂掉√扩展:必须作为单个软件来扩展,当有资源需求冲突时扩展就变得非常困难,无法满足高并发情况下的业务需求√阻碍创新:由于所有的功能都基于同一套技术框架来够构建,想加入新的技术或者框架就非常困难Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted2第二页,共十八页。微服务应用vs.单体应用–微服务应用√

去中心化的治理技术√

去中心化的管理数据√

基础设施自动化√

容错设计√

演进式设计微服务特性√

拆分应用,实现敏捷开发和部署√

组件化到多服务√

围绕业务功能组织团队√

做产品而不是做项目√

智能端点与傻瓜管道微服务的优点和缺点一样明显√优点开发简单技术栈灵活服务独立无依赖独立按需扩展可用性高√缺点(挑战)多服务运维难度系统部署依赖服务间通信成本数据一致性系统集成测试重复工作性能监控没有最好的,只有适合自己的√对于大的互联网公司,微服务架构是血液,细节有不同,但是核心理念是通的。√对于一般的公司,实践微服务有非常大的技术挑战。微服务比较适合未来有一定的扩展复杂度,且有很大用户增量预期的应用,必须考虑未来的巨量的用户,微服务架构成了最好的选择。UI浏览器产品服务产品DB订单服务订单DB库存服务库存DB用户服务用户DB……服务……DBCopyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted3第三页,共十八页。微服务间通信DBDBDBDB浏览器UI产品订单库存用户……服务服务服务服务服务产品订单库存用户……DB√同步调用REST(JAX-RS,Spring

Boot)RPC(Thrift,

Dubbo)gRPC√异步消息调用Kafka,NotifyMetaQBrokerCopyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted4第四页,共十八页。客户端的调用UI浏览器产品服务产品DB订单服务订单DB库存服务库存DB用户服务用户DB……服务……DBUIAPIGateway浏览器产品服务产品DB订单服务订单DB库存服务库存DB用户服务用户DB……服务……DB采用在服务和UI之间加入代理或者叫API

Gateway,作用如下√提供统一服务入口,让微服务对前台透明√聚合后台的服务,节省流量,提升性能√提供安全,过滤,流控等API管理功能Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted5第五页,共十八页。微服务痛点微服务标准√微服务化没有统一标准,一般按业务领域垂直切分√业务按一定的粒度划分职责,并形成清晰、职责单一的服务接口微服务通讯√微服务之间的通信方案相对成熟,开源领域选择较多的有RPC或RESTfulAPI方案,比如:gRPC、Apache

Thrift等。微服务治理,治理体现在以下诸多方面:√服务注册与发现√身份验证与授权√服务的伸缩控制√反向代理与负载均衡√路由控制√流量限制及切换√日志管理√性能度量、监控与调优√分布式跟踪√过载保护√服务降级√服务部署与版本升级策略支持√错误处理√熔断机制√重试机制√

……Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted6第六页,共十八页。Service

Mesh又译作“服务网格”,作为服务间通信的基础设施层。如果用一句话来解释什么是Service

Mesh,可以将它比作是应用程序或者说微服务间的TCP/IP,负责服务之间的网络调用、限流、熔断和监控。对于编写应用程序来说一般无须关心TCP/IP这一层(比如通过HTTP

协议的RESTful

应用),同样使用Service

Mesh也就无须关系服务之间的那些原来是通过应用程序或者其他框架实现的事情。Service

Mesh√Service

Mesh又译作“服务网格”,作为服务间通信的基础设施层。负责服务之间的网络调用、限流、熔断和监控。

ServiceMesh有如下几个特点:应用程序间通讯的中间层轻量级网络代理应用程序无感知解耦应用程序的重试、超时、监控、追踪和服务发现√ServiceMesh作为Sidebar运行,对应用程序来说是透明,所有应用程序间的流量都会通过它,所以对应用程序流量的控制都可以在ServiceMesh中实现Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted7第七页,共十八页。Service

Mesh带来微服务治理的变革传统微服务之间的微服务治理逻辑的位置微服务治理逻辑被独立出来之后的位置Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted8第八页,共十八页。Istio是一个用来连接、管理和保护微服务的开放平台。Istio提供一种简单的方式来建立已部署服务网络,具备负载均衡、服务间认证、监控等功能,而不需要改动任何服务代码。想要为服务增加对Istio的支持,您只需要在环境中部署一个特殊的边车(sidecar),使用Istio控制面板功能配置和管理代理,拦截微服务之间的所有网络通信。Istio提供了一个完整的解决方案,通过为整个服务网格提供行为洞察和操作控制来满足微服务应用程序的多样化需求。IstioIstio是一个用来连接、管理和保护微服务的开放平台,具备负载均衡、服务间认证、监控等功能,在服务网络中统一提供了许多关键功能:流量管理:控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮可观察性:了解服务之间的依赖关系,以及它们之间流量的本质和流向,从而提供快速识别问题的能力策略执行:将组织策略应用于服务之间的互动,确保访问策略得以执行,资源在消费者之间良好分配。策略的更改是通过配置网格而不是修改应

用程序代码服务身份和安全:为网格中的服务提供可验证身份,并提供保护服务流量的能力,使其可以在不同可信度的网络上流转Istio服务网格逻辑上分为数据面板和控制面板:数据面板由一组智能代理(Envoy)组成,代理部署为边车,调解和控制微服务之间所有的网络通信控制面板负责管理和配置代理来路由流量,以及在运行时执行策略Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricted9第九页,共十八页。微服务的实现工具及手段√一般微服务都离不开DevOps和Docker,理解微服务架构是核心√ devops和docker是工具,是手段MicroserviceDockerDevops√在ServiceMesh层面,Oracle即将推出基于开源Istio的服务治理平台,在Contrainer层面已经提供了成熟Contrainer

CloudService及Application

Contrainer

Cloud

Service等产品供企业选择√Oracle

Contrainer

Cloud

Service可以用来轻松快速地创建企业级容器基础设施。它提供了全面的工具,支持在Oracle

云基础设施中针对开发、开发/测试、开发运维和云原生用例,编写、部署、编排和管理基于Kubernetes容器管理工具、

Docker容器的应用√Application

Contrainer

Cloud

Service提供了基于

Kubernetes容器管理工具、Docker容器化的企业在现代化的多语言平台上,使用Java

SE、Node.js、PHP、Python、Ruby

等开发符合12-factor(12要素)原则的云原生应用Copyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricte1d0第十页,共十八页。Vision:

An

End-to-EndContainer

Native

SuiteCopyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricte1d1第十一页,共十八页。ContainerFunctionsOpen

source,

cloudfunctions

as

a

Service

forany

language,

best

ofclass

for

JavaContainerMicroservicesA

collection

of

services,frameworks

and

libraries

for

neutral,

community

driventhe

modern

cloud

developer;based

on

Cloud

NativeCompute

Foundation

–Istio/EnvoyContainerPipelinesA

market

leading

solutionfor

application

lifecyclemanagement

with

a

Dockercentric

product

viewContainerEngineFully

managed

container

servicebased

on

Kubernetes

running

onOracle

Cloud

Infrastructure

BareMetalContainerDiagnosticsUnparalleled

real-timeobservability

anddiagnostics

for

largescale

distributed

JavasystemsfnBuild

---

Deploy

---

OperateOracleCloudNativeApplication

Development

PlatformSuite

of

Container

Native

CapabilitiesCopyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricte1d2第十二页,共十八页。Container

Pipelines

-

Continuous

Integration

and

Deliveryof

ContaiCI/CDAutomationBuild

MicroservicesAnd

FunctionsDeploy

andManageKubernetes

&

RegistriesManage,Operate,

DiagnoseAn

Integrated

Set

of

Capabilities

Supporting

the

Full

Container

LifecycleCopyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricte1d3第十三页,共十八页。Oracle

Cloud

MicroservicesService

BrokerEnterpriseClass:Istio

Service

Mesh

&

InfrastructureServiceMeshAPI

RegistryPre-

Integrated,

Curated

PlaformCNCF

+

IstioDeveloper

Friendly:Opinionated

But

OpenAPIRESTOps基于Istio开放、中立、简化微服务应用开发的微服务支撑平台预集成,便利的平台开源,基于原生态云应用的微服务开发,基于Istio友好的开发API优先企业级Built

on

Kubernetes

with

Service

Mesh,

Service

Broker

and

API

Registry;

Ops

Built

InCopyright

©

2017

Oracle

and/or

its

affiliates.

All

rights

reseOrvaecdl.e

|Confidential

Internal/Restricted/Highly

Restricte1d4第十四页,共十八页。Introduction:Oracle

Cloud

Microservices

is

an

open(CNCF

and

Istio

based),

cloud

neutral,

platformmakes

it

easy

to

develop

microservices

applications.The

platform

is

curated

package

of

OSS

laid

on

top

of

our

managed

K8S

service

orany

K8S

cluster:Istio

(Service

Mesh)Diagnostics

and

Operations

(Zipkin/Jaeger,

Vizceral)API

Catalog

(Apiary)Event

Manager

(Kafka)Open

Service

Broker

API

(LinuxFoundation),

which

is

the

foundation

of

the

K8S

service

catalogOur

value-add

is

to

unify

all

of

this,

and

flip

the

experience

for

the

developer

to

be

API-first:

always

reactive,

unfied

betweenfunctions

and

servicesDevelopers

get

observabilityand

"distributed

muck"

for

freeFeatures/Functionalities:Service

Mesh:Istio

is

the

foundation

of

our

offering;

besides

offering

ingress

control,

it

provides

an

application

developer

default

service-to-service:Load

BalancingEncryptionAccess

PolicyResiliencyUpgrades

and

Sophisticated

routingWe

are

fundamentally

going

to

alignwithistio,

and

enhance

it

in

the

open,not

layer

on

top.vent

Manager:Decoupled,

flexible

rules-based

infrastructure

for

asynchronous

communicationService

Broker:Building

on

Open

Service

Broker

API,

we

are

going

to

unify

access

to

3

third

party

services

on

the

mesh;

developers

will

be

able

to

access

services

like

DynamoDB/etc

as

if

it

is

one

of

their

ownservicesWe

will

also

enable

developers

to

register

user

services

and

functions

withthe

service

broker

on

the

mesh

to

get

the

same

integration

benefits

mentioned

aboveEvery

3

third

parth

service,

user

service

and

function

registered

throughthe

service

broker

will

be

auto

activated

and

added

to

the

API

catalogOur

service

broker

will

register

connection

information

and

access

tokens

with

the

API

catalog;

dev

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论