版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医生党课课件教学课件
- 神经内科电场治疗方案
- 新人入职培训规章制度
- 糖尿病伤口处理
- 眼耳鼻喉科护理查房
- 老年病科科普讲解大赛
- 博物馆奇案教案反思
- 化学肥料说课稿
- 好玩的竹梯说课稿
- 过秦论的说课稿
- 福建省漳州市十校联盟2024-2025学年高一上学期11月期中考试 数学 含解析
- 幼儿园老师说课培训课件
- 房贷延期代理合同(2篇)
- 2023年曲靖市中医医院招聘考试真题
- 海洋研学劳动课程设计
- 吉林省松原市前郭县南部学区2024~2025学年度七年级上期中测试.名校调研 生物(含答案)
- 林业基础知识考试题库单选题100道及答案解析
- 2024年盘锦北方沥青股份限公司招聘18人高频难、易错点500题模拟试题附带答案详解
- 电气工程及其自动化职业规划课件
- 2024至2030年中国纳米氧化锌行业投资前景及策略咨询研究报告
- 2024年经济师考试-中级经济师考试近5年真题附答案
评论
0/150
提交评论