day18

作者: 天道灬酬勤 | 来源:发表于2018-12-06 20:57 被阅读13次

    1 .Eureka详解

    • Eureka是基于REST(Representational State Transfer)服务,

    • 主要以AWS云服务为支撑,

    • 提供服务发现并实现负载均衡和故障转移。

    • 我们称此服务为Eureka服务。

    • Eureka提供了Java客户端组件,

    • Eureka Client,方便与服务端的交互。

    • 客户端内置了基于round-robin实现的简单负载均衡。

    • 在Netflix,为Eureka提供更为复杂的负载均衡方案进行封装,

    • 以实现高可用,它包括基于流量、

    • 资源利用率以及请求返回状态的加权负载均衡。

    • Eureka有三个核心

      • 1、服务注册中心

      ​ Eureka的服务端应用,提供服务注册和发现功能,就是刚刚我们建立的eureka-demo

      • 2、服务提供者

      ​ 提供服务的应用,可以是SpringBoot应用,也可以是其它任意技术实现,只要对外提供的是Rest风格服务即可。本例中就是我们实现的user-service-demot

      • 3、服务消费者

      ​ 消费应用从注册中心获取服务列表,从而得知每个服务方的信息,知道去哪里调用服务方。本例中就是我们实现的consumer-demo

    • Eureka Server即服务的注册中心也可以是一个集群,形成高可用的Eureka中心

    • 当服务提供者注册到Eureka Server集群中的某个节点时,该节点会把服务的信息同步给集群中的每个节点l从而实现数据同步


    2.负载均衡

    • Ribbon:有助于控制HTTP和TCP客户端的行为,为Ribbon配置服务提供者地址列表后,Ribbon就可以基于某种算法,自动帮助消费者去请求。
    • 负载均衡在系统架构中是一个非常重要,
    • 并且是不得不去实施的内容。
    • 因为负载均衡是对系统的高可用、
    • 网络压力的缓解和处理能力扩容的重要手段之一。

    3.面试题

    1. 谈谈对Spring框架的理解

    • Spring是一个封层的一站式开发的轻量级开源框架,通过配置文件中的<bean>元素配置用于创建实例对象的类名和实例对象的属性。

    • Spring提供支持IOC 和 AOP 技术,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的程序过度耦合。,通过AOP也可以对某个方法进行操作,例如:权限验证

    • Spring对Junit4支持,方便程序测试。

    • 声明式事务支持,只要在配置文件中配置后,不用程序员在代码编写

    • 降低了JavaEE的API使用难度,Spring框架对对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装。

    • 同时Spring方便集成各种优秀框架,如Hibernate,struts2。

    2.Spring控制反转(IOC)和依赖注入(DI)的区别

    • IOC是控制反转,一般分为两种类型,依赖注入(Dependency Injection,简称<u>DI</u>)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。

    • IOC控制反转,指将对象的创建权,反转到Spring容器, DI依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入Bean。

    jmyp.png

    相关文章

      网友评论

          本文标题:day18

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