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

下载本文档

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

文档简介

微服务技术交流ShifengDeng

PrincipleSalesConsultantOracleSouthChina

现在是1页\一共有18页\编辑于星期五微服务应用vs.单体应用–单体应用OracleConfidential–Internal/Restricted/HighlyRestricted2UI产品服务产品订单服务订单库存服务库存用户服务用户……服务……DB浏览器一个特定的应用软件会包括有几百个功能项,所有功能项都打包进了一个单体的应用中。典型的例子有,ERP、CRM等其他各种各样的软件Monolithic传统核心应用使用广泛,优点是:单独应用是作为一个整体单元来设计、开发、部署,开发简单直接,集中式管理基本不会重复开发功能都在本地,没有分布式的管理开销和调用开销缺点也非常明显,特别对于互联网公司来说:开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断代码维护难:代码功能耦合在一起,新人不知道何从下手部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长稳定性:一个微不足道的小问题,可以导致整个应用挂掉扩展:必须作为单个软件来扩展,当有资源需求冲突时扩展就变得非常困难,无法满足高并发情况下的业务需求阻碍创新:由于所有的功能都基于同一套技术框架来够构建,想加入新的技术或者框架就非常困难现在是2页\一共有18页\编辑于星期五微服务应用vs.单体应用–微服务应用OracleConfidential–Internal/Restricted/HighlyRestricted3去中心化的治理技术去中心化的管理数据基础设施自动化容错设计演进式设计拆分应用,实现敏捷开发和部署组件化到多服务围绕业务功能组织团队做产品而不是做项目智能端点与傻瓜管道微服务特性微服务的优点和缺点一样明显优点开发简单技术栈灵活服务独立无依赖独立按需扩展可用性高缺点(挑战)多服务运维难度系统部署依赖服务间通信成本数据一致性系统集成测试重复工作性能监控

没有最好的,只有适合自己的对于大的互联网公司,微服务架构是血液,细节有不同,但是核心理念是通的。对于一般的公司,实践微服务有非常大的技术挑战。微服务比较适合未来有一定的扩展复杂度,且有很大用户增量预期的应用,必须考虑未来的巨量的用户,微服务架构成了最好的选择。UI浏览器产品服务产品DB订单服务订单DB库存服务库存DB用户服务用户DB……服务……DB现在是3页\一共有18页\编辑于星期五微服务间通信OracleConfidential–Internal/Restricted/HighlyRestricted4UI浏览器产品服务产品DB订单服务订单DB库存服务库存DB用户服务用户DB……服务……DB同步调用REST(JAX-RS,SpringBoot)RPC(Thrift,Dubbo)gRPC异步消息调用Kafka,NotifyMetaQBroker现在是4页\一共有18页\编辑于星期五客户端的调用OracleConfidential–Internal/Restricted/HighlyRestricted5UI浏览器产品服务产品DB订单服务订单DB库存服务库存DB用户服务用户DB……服务……DBUIAPIGateway浏览器产品服务产品DB订单服务订单DB库存服务库存DB用户服务用户DB……服务……DB采用在服务和UI之间加入代理或者叫APIGateway,作用如下提供统一服务入口,让微服务对前台透明聚合后台的服务,节省流量,提升性能提供安全,过滤,流控等API管理功能现在是5页\一共有18页\编辑于星期五微服务痛点OracleConfidential–Internal/Restricted/HighlyRestricted6微服务标准微服务化没有统一标准,一般按业务领域垂直切分业务按一定的粒度划分职责,并形成清晰、职责单一的服务接口微服务通讯微服务之间的通信方案相对成熟,开源领域选择较多的有RPC或RESTfulAPI方案,比如:gRPC、ApacheThrift等。微服务治理,治理体现在以下诸多方面:服务注册与发现身份验证与授权服务的伸缩控制反向代理与负载均衡路由控制流量限制及切换日志管理性能度量、监控与调优分布式跟踪过载保护服务降级服务部署与版本升级策略支持错误处理熔断机制重试机制……现在是6页\一共有18页\编辑于星期五ServiceMeshOracleConfidential–Internal/Restricted/HighlyRestricted7ServiceMesh又译作“服务网格”,作为服务间通信的基础设施层。负责服务之间的网络调用、限流、熔断和监控。ServiceMesh有如下几个特点:应用程序间通讯的中间层轻量级网络代理应用程序无感知解耦应用程序的重试、超时、监控、追踪和服务发现ServiceMesh作为Sidebar运行,对应用程序来说是透明,所有应用程序间的流量都会通过它,所以对应用程序流量的控制都可以在ServiceMesh中实现现在是7页\一共有18页\编辑于星期五ServiceMesh带来微服务治理的变革OracleConfidential–Internal/Restricted/HighlyRestricted8传统微服务之间的微服务治理逻辑的位置微服务治理逻辑被独立出来之后的位置现在是8页\一共有18页\编辑于星期五IstioOracleConfidential–Internal/Restricted/HighlyRestricted9Istio是一个用来连接、管理和保护微服务的开放平台,具备负载均衡、服务间认证、监控等功能,在服务网络中统一提供了许多关键功能:流量管理:控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮可观察性:了解服务之间的依赖关系,以及它们之间流量的本质和流向,从而提供快速识别问题的能力策略执行:将组织策略应用于服务之间的互动,确保访问策略得以执行,资源在消费者之间良好分配。策略的更改是通过配置网格而不是修改应用程序代码服务身份和安全:为网格中的服务提供可验证身份,并提供保护服务流量的能力,使其可以在不同可信度的网络上流转Istio服务网格逻辑上分为数据面板和控制面板:数据面板由一组智能代理(Envoy)组成,代理部署为边车,调解和控制微服务之间所有的网络通信控制面板负责管理和配置代理来路由流量,以及在运行时执行策略现在是9页\一共有18页\编辑于星期五微服务的实现工具及手段OracleConfidential–Internal/Restricted/HighlyRestricted10一般微服务都离不开DevOps和Docker,理解微服务架构是核心devops和docker是工具,是手段MicroserviceDockerDevops在ServiceMesh层面,Oracle即将推出基于开源Istio的服务治理平台,在Contrainer层面已经提供了成熟ContrainerCloudService及ApplicationContrainerCloudService等产品供企业选择OracleContrainerCloudService可以用来轻松快速地创建企业级容器基础设施。它提供了全面的工具,支持在Oracle云基础设施中针对开发、开发/测试、开发运维和云原生用例,编写、部署、编排和管理基于Kubernetes容器管理工具、Docker容器的应用ApplicationContrainerCloudService提供了基于Kubernetes容器管理工具、Docker容器化的企业在现代化的多语言平台上,使用JavaSE、Node.js、PHP、Python、Ruby等开发符合12-factor(12要素)原则的云原生应用现在是10页\一共有18页\编辑于星期五Vision:AnEnd-to-EndContainerNativeSuiteOracleConfidential–Internal/Restricted/HighlyRestricted11现在是11页\一共有18页\编辑于星期五OracleCloud

NativeApplicationDevelopment

PlatformOracleConfidential–Internal/Restricted/HighlyRestricted12Container

FunctionsOpensource,cloudneutral,communitydrivenfunctionsasaServiceforanylanguage,bestofclassforJavaContainerMicroservicesAcollectionofservices,frameworksandlibrariesforthemodernclouddeveloper;basedonCloudNativeComputeFoundation–Istio/EnvoyContainer

PipelinesAmarketleadingsolutionforapplicationlifecyclemanagementwithaDockercentricproductviewContainer

EngineFullymanagedcontainerservicebasedonKubernetesrunningonOracleCloudInfrastructureBareMetalContainer

DiagnosticsUnparalleledreal-timeobservabilityanddiagnosticsforlargescaledistributedJavasystemsfnBuild---Deploy---OperateSuiteofContainerNativeCapabilities现在是12页\一共有18页\编辑于星期五ContainerPipelines-ContinuousIntegrationandDeliveryofContainersOracleConfidential–Internal/Restricted/HighlyRestricted13CI/CDAutomationBuildMicroservices

AndFunctionsDeployandManage

Kubernetes&RegistriesManage,

Operate,DiagnoseAnIntegratedSetofCapabilitiesSupportingtheFullContainerLifecycle现在是13页\一共有18页\编辑于星期五OracleCloudMicroservicesOracleConfidential–Internal/Restricted/HighlyRestricted14预集成,便利的平台开源,基于原生态云应用的微服务开发,基于Istio友好的开发API优先

企业级BuiltonKuberneteswithServiceMesh,ServiceBrokerandAPIRegistry;OpsBuiltInServiceBrokerEnterpriseClass:

IstioServiceMesh&InfrastructureService

MeshAPIRegistryPre-Integrated,CuratedPlaform

CNCF+Ist

温馨提示

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

评论

0/150

提交评论