美文网首页互联网科技Java 杂谈程序员
架构师凭什么拿60万年薪?从微服务框架说起

架构师凭什么拿60万年薪?从微服务框架说起

作者: 享学课堂 | 来源:发表于2019-01-22 15:33 被阅读15次

    微服务架构专题

    RPC原理

    RPC是什么?

    RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

    工作原理

    运行时,一次客户机对服务器的RPC调用,其内部操作大致有如下十步:

    1.调用客户端句柄;执行传送参数

    2.调用本地系统内核发送网络消息

    3.消息传送到远程主机

    4.服务器句柄得到消息并取得参数

    5.执行远程过程

    6.执行的过程将结果返回服务器句柄

    7.服务器句柄返回结果,调用远程系统内核

    8.消息传回本地主机

    9.客户句柄由内核接收消息

    10.客户接收句柄返回的数据

    dubbo应用及源码解读

    dubbo是什么?

    Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。

    dubbo的实现原理

    dubbo作为rpc框架,实现的效果就是调用远程的方法就像在本地调用一样。如何做到呢?就是本地有对远程方法的描述,包括方法名、参数、返回值,在dubbo中是远程和本地使用同样的接口;然后呢,要有对网络通信的封装,要对调用方来说通信细节是完全不可见的,网络通信要做的就是将调用方法的属性通过一定的协议(简单来说就是消息格式)传递到服务端;服务端按照协议解析出调用的信息;执行相应的方法;在将方法的返回值通过协议传递给客户端;客户端再解析;在调用方式上又可以分为同步调用和异步调用;简单来说基本就这个过程

    springboot底层探析

    springboot是什么?

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

    特点

    1. 创建独立的Spring应用程序

    2. 嵌入的Tomcat,无需部署WAR文件

    3. 简化Maven配置

    4. 自动配置Spring

    5. 提供生产就绪型功能,如指标,健康检查和外部配置

    6. 绝对没有代码生成并且对XML也没有配置要求

    springcloud高级进阶

    springcloud是什么

    Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

    特性

    1、Spring Cloud专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖。

    2、分布式/版本化配置

    3、服务注册和发现

    4、路由

    5、service - to - service调用

    6、负载均衡

    7、断路器

    8、分布式消息传递

    docker虚拟化技术

    docker是什么
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

         容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易的在机器和数据中心中运行。更重要的是,它们不依赖于任何语言,框架或包括系统。

    Docker虚拟化有三个概念需要理解,分别镜像、容器、仓库。

         1) 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。

         2) 容器:使用镜像常见的应用或系统,我们称之为一个容器。

         3) 仓库:仓库是存放镜像的地方,分为公开仓库和私有仓库两种形式。

     Docker虚拟化特点

         跟传统虚拟化相比的优点:

         1) 操作启动快

         2) 轻量级虚拟化

         3) 开源免费

         4) 前景及云支持

    小结

    如果对自己未来有想法,想提升自己,你现在在JAVA这条路上挣扎,也想在IT行业拿高薪,可以参加我们免费的公开课试听学习 干货满满的,选择最适合自己的课程学习,技术大牛亲授,课程内容有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,大家可以私信我【学习资料】获取!

    相关文章

      网友评论

        本文标题:架构师凭什么拿60万年薪?从微服务框架说起

        本文链接:https://www.haomeiwen.com/subject/mlsprqtx.html