微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,并随着Netflix最佳实践的发布而为业界所知。如今,在国内有了大量的微服务实践案例,5月18日,网易云联合云片在武汉主办“微服务架构落地的最佳实践”活动,网易云、云片、美洽、网易云音乐等业界微服务的先行者,分享了落地实践过程中总结的干货经验。

微服务在传统领域的落地实践


网易云微服务资深架构师 袁梓超

微服务是一个非常复杂的演进过程,是企业在发展过程中业务遭遇痛点、解决痛点的过程。网易云微服务资深架构师袁梓超主要分享了微服务在传统领域的落地实践以及可以帮助企业解决的问题。袁梓超认为金融行业对微服务的需求,主要源于业务的驱动。比如网易云所服务的某家证券公司,在业务转型的过程中,多个线下业务在逐渐转向线上,IT部门需要快速响应业务部门的各种新需求。网易云首先基于服务拆分和共享能力的构建,帮助其做了中台服务的架构设计,提高业务响应能力;通过容器化,实现了持续集成和快速的横向扩展;通过服务发现和服务治理,实现服务间相互调用,并保证高并发情况下的服务可用性。
某安防监控领域的客户,内部的信息化系统非常多,但系统之间相对独立,互通困难,导致跨部门之间协作效率较低,管理和运维也非常困难,亟需从架构层面解决这些长期的痛点。网易云帮助该客户将公共服务抽象出来,沉淀为服务中心,可快速跨产品线整合信息,提高跨部门的协作效率;结合敏捷研发流程,加速了前端需求的响应速度;通过平台中对微服务治理的监控,构建了统一的接口标准和运维体系。

某物流行业的客户,从大件物流向个人快递业务扩展的过程中,由于系统的瓶颈问题,阻碍了业务的发展。网易云从GIS系统开始,辅助其进行微服务化改造,并提供微服务框架及工具链,最大化降低改造风险;提供DevOps工具链,帮助其建立敏捷开发体系;对应用进行容器化改造,缩短应用发布周期;还提供可视化应用运维监控平台,保证应用及平台运行的稳定性。
据袁梓超介绍,网易云之所以能帮助这些客户实现对业务灵活、快速地响应,源于轻舟微服务平台中多年的技术沉淀。作为一家曾打造多个爆款的互联网公司,每一次用户暴涨的阶段,对网易的技术架构都是非常严峻的挑战。网易从2010年开始对微服务的探索,目前已广泛采用了微服务技术栈,并在这个过程中形成了一整套微服务架构的解决方案,并沉淀为轻舟微服务平台。袁梓超在演进中详细介绍了网易云对于完整微服务技术栈的探索和实践过程。
(更多内容,请点击下载PPT查看)

Serverless之OpenFaaS


云片Java技术专家 刘斌

2014年AWS Lambda 的问世引领了Serverless(无服务器计算)的普及。Serverless把主机管理、操作系统管理、资源分配、扩容,甚至是应用逻辑的全部组件都外包出去,让开发者在构建应用的过程中无需关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA,按照调用次数进行计费,有效的节省应用成本。

Serverless的实现分为BaaS(Backend as a Service)和FaaS(Functions as a Service)两种类型,云片Java技术专家刘斌认为只有开源的FaaS平台才能让Serverless飞入寻常百姓家。刘斌首先分享了云片营销云的微服务架构和产品技术架构,在营销云的架构设计中,为了满足客户的柔性需求,刘斌调研了主流的FaaS平台。基于这些调研,刘斌分享了OpenFaaS在Serverless架构设计中的定位及其带来的收益。
(更多内容,请点击下载PPT查看)

美洽微服务架构演进之道


美洽技术负责人 吴昊

美洽智能客服SaaS在创立4年内,服务企业客户数已超10万+,月消息数过亿,成为客服SaaS行业领跑者。美洽技术负责人吴昊分享了在美洽成长过程中,基于Golang的微服务架构的演进过程,以及微服务化是如何支撑业务的高速增长。基于美洽的实践经验,吴昊认为微服务拆分应遵循三个原则:以业务为中心,职责单一;避免循环依赖;粒度合适,功能内聚,考虑运维复杂度。微服务架构给美洽带来的好处包括:提升了开发效率和代码可维护性;Go语言的使用,也让服务性能的进一步提升成为可能;成本降低,服务器成本和人力成本都大幅下降;改动代码不需要全局发版,提高了系统稳定性。
(更多内容,请点击下载PPT查看)

云音乐服务化之路


网易云音乐资深开发工程师 薛广顺

网易云音乐从2013年4月发布第一个版本,到现在已经有数亿的用户,在这6年中,网易云音乐的后端技术架构也发生了很大的变化。网易云音乐资深开发工程师薛广顺主要分享了网易云音乐的服务化演进历程,云音乐服务治理体系,云音乐服务框架,云音乐在服务治理过程中碰到的问题及解决思路。

如何实现多机房路由?测试环境如何做服务治理?如何降低框架推广、升级的成本等。为了解决这些问题,网易云音乐经过不断探索,形成了一系列有特色的解决方案。比如,随着业务线的划分和人员规模的上升,联调的需求越来越多,版本并发度也在不断上升,随之带来了计算资源成本、环境搭建人力成本和维护成本的攀升。为解决这个问题,网易云音乐采用了环境隔离的方案,目前云音乐已经有200多套测试环境,这些测试环境相互隔离,同时又共享一套基准环境,测试的时候会优先调用同一个测试环境中的服务,服务缺失的话,会路由到基准环境。
(更多内容,请点击下载PPT查看)

干货 | 国内互联网公司是如何做微服务实践的?(附PPT下载)的更多相关文章

  1. QCon技术干货:个推基于Docker和Kubernetes的微服务实践

    2016年伊始,Docker无比兴盛,如今Kubernetes万人瞩目.在这个无比需要创新与速度的时代,由容器.微服务.DevOps构成的云原生席卷整个IT界.在近期举办的QCon全球软件开发大会上, ...

  2. 微服务优化之使用gRPC做微服务的内部通信

    使用gRPC做微服务的内部通信 gRPC是一个由Google开源的远程服务调用框架,具有多路复用和双向流式通信的特性. 大家好,在本文中将为大家介绍为什么我们应该使用gRPC代替RESTful或JSO ...

  3. SFDC 微服务实践之路 2016.12.10 杭州(整理)--转

    原文地址:http://mp.weixin.qq.com/s/8cC4Ewt6yPjnxdYxuNZlFQ 微服务是什么? 微服务是一种细粒度(Fine-Grain)的SOA 或许在座的高朋了解过其概 ...

  4. 2019年微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享

    微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及数据和治理的去中心化管理.微 ...

  5. .NET CORE微服务实践

    .NET CORE微服务实践 https://www.cnblogs.com/zengqinglei/p/9570343.html .NET CORE 实践部署架构图 实践源码:https://git ...

  6. 微服务实践(七):从单体式架构迁移到微服务架构 - DockOne.io

    原文:微服务实践(七):从单体式架构迁移到微服务架构 - DockOne.io [编者的话]这是用微服务开发应用系列博客的第七篇也是最后一篇.第一篇中介绍了微服务架构模式,并且讨论了微服架构的优缺点: ...

  7. Openstack+Kubernetes+Docker微服务实践

    Openstack+Kubernetes+Docker微服务实践 .....   Openstack+Kubernetes+Docker微服务实践之路--选型 posted @ 2016-11-15 ...

  8. [Abp vNext微服务实践] - 文章目录

    简介 ABP vNext是volosoft的新一代框架,ABP(vNext)完全使用.NET CORE和DDD(领域驱动)打造,目前GitHub已有6K+次提交,发布版本超过40次,Nuget包下载量 ...

  9. Serverless 微服务实践-移动应用包分发服务

    背景 阿里云函数计算是事件驱动的全托管计算服务.通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传.函数计算会为您准备好计算资源,以弹性.可靠的方式运行您的代码,并提供日志查询.性能监控.报 ...

随机推荐

  1. 【Gradle】Android Gradle 多渠道构建

    Android Gradle 多渠道构建 多渠道构建的基本原理 在Android Gradle中,定义了一个叫Build Variant的概念,一个Build Variant=Build TYpe+P ...

  2. mybatis报错: java.lang.IllegalArgumentException invalid comparison: java.util.Date and java.lang.String

    原因是在使用<if> 进行条件判断时, 将datetime类型的字段与 ' ' 进行了判断,导致的错误 解决, 只使用  <if test="createTime != n ...

  3. (day69)axios、配置ElementUI、配置jQuery和Bootstrap、Django中的CORS问题

    目录 一.Vue的ajax插件:axios 二.Django中的CORS跨域问题 (一)同源策略 (二)解决方式(cors模块) 三.Vue配置ElementUI 四.Vue配置jQuery和Boot ...

  4. echarts 在 vue-awesome-swiper中无法点击

    回退vue-awesome-swiper版本到2.6.7 即可npm install vue-awesome-swiper@2.6.7 --save

  5. Django信号机制相关解释与示例

    Django 信号# django自带一套信号机制来帮助我们在框架的不同位置之间传递信息.也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发 ...

  6. 按位或:多项式,FWT,min-max容斥

    Description: 刚开始你有一个数字0,每一秒钟你会随机选择一个$[0,2^n)$的数字,与你手上的数字进行或(C++, C 的 |, Pascal 的 or)操作. 选择数字i的概率是$p_ ...

  7. Java之ssh框架spring配置文件配置定时任务

    最近做了一个数据同步功能,要求晚上0点去定时同步数据,这是个老项目框架用的ssh,定时任务基于quartz,废话不多说,下面详细说说相关配置. 在spring的配置文件中: <!-- 0点定时任 ...

  8. sublime插件开发教程4

    写几个简单的例子详解下 import sublime import sublime_plugin class ExampleCommand(sublime_plugin.TextCommand): d ...

  9. shadertoy使用教程

    shadertoy使用教程 /** *常量定义 */ uniform vec3 iResolution; // 窗口分辨率,单位像素 uniform float iTime; // 程序运行的时间,单 ...

  10. Selenium(十二):操作Cookie、调用JavaScript、HTML5的视频播放

    1. 操作Cookie 有时候我们想要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试的.WebDriver提供了操作Cookie的相关方法,可以读取.添加和删 ...