day18

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容