什么是框架?
个人简单的理解,框架是一个半成品,在java开发中就是一种规范+一群jar包
使用框架开发的目的
用来提高开发效率,这一点个人最大的体会就是从学会使用struts到Spring Boot这两个框架之间的跨度。SpringBoot以他依赖优于配置的特点,获得不少java开发大佬的恩宠,一点点将Struts打入冷宫,至于为什么,相信用过这两种框架的大佬们都深有体会!
为什么要使用Spring cloud框架进行开发?
spring cloud是一个基于Spring Boot开发的微服务框架,SpringBoot可以开发单个的微服务。所谓微服务,就是按业务逻辑划分为独立的模块进行开发。
- 让专业的人做专业的事情,每个服务与服务之间互不影响。比如一个微服务专门做登录注册,这个微服务就只专注于登录和注册以及安全的问题,不涉及其他业务。不过微服务粒度的划分,个人感觉对技术和业务能力要求还是比较高。粒度如果划分不好仍然无法避免大量代码重复的诟病。
- 采用resultful风格设计接口(个人理解resultful风格提供API就是Http+JSON)
- 效率更高,更适合互联网公司敏捷开发,快速迭代产品。
Spring cloud之Eureka(注册中心)
说eureka前先理解这几个概念
- 注册中心概念:存放服务ip地址,端口号和服务名称等相关信息
- 服务注册:将自己的信息(ip,端口号,服务名称等)发送到注册中心
- 服务发现:从注册中心获取服务通讯地址,然后在本地远程调用
- 服务消费者:调用别人的接口
- 服务提供者: 提供服务接口
注:一个服务既可以作为服务提供者,也可以作为消费者。
Eureka 两大组件
1.Eureka server: 主要提供注册服务,也就是注册中心
2.Eureka client: 每个微服务模块,负责向Eureka Server发送心跳(也就是注册,默认是30S发一次)
Eureka 三大角色
Eureka server: 提供服务与注册
Eureka provider: 服务提供方,提供服务接口给别人用(指服务消费者)
Eureka consumer: 服务消费者,从Eureka Server获取注册列表和提供者信息从而在本地进行调用
Eureka Server 集群搭建
-
为什么需要搭建Eureka Server集群?
Eureka server可以算是整个微服务核心,其他Eureka Client会定时连接Eureka server,获取注册信息并保存在本地缓存
如果Eureka server被down调,其它Eureka Client就不能再从Eureka Server获取注册信息,缓存数据不能更新,慢慢会引起其它服务调用发生错误,影响整个系统性能
-
搭建Eureka Server集群的目的
为了防止Eureka Server被Down掉对整个系统的影响,所以需要做集群 -
搭建Eureka集群的原理:
通过运行2个或多个Eureka Server让他们相互注册的方式实现高可用部署
小结:单节点的Eureka Server只适用于开发环境。生产环境和线上环境需要搭建集群实现高可用,高性能。