04Ribbon

2019-03-12

负载均衡Ribbon

网络请求框架RestTemplate

RestTemplate是Spring Resources中一个访问第三方RESTful API接口的网络请求框架。
RestTeamplate是用来消费REST服务的,所以RestTeamplate也有HEAD、GET、POST、PUT、DELETE、OPTIONS等方法。注意:head对应的方法为headForHeaders(),其它都为xxxForObject()

示例:

@RestControllrt
public class RestController{
	@GetMapping("/testRest")
    public String testRest(){
    	RestTemplate restTemplate = new RestTemplate();
        return restTemplate.getForObject("htpps://www.baidu.com/",String.class);
    }
}

03Eureka

2019-03-12

服务注册和发现Eureka

Eureka简介

什么是Eureka

Eureka 是一个用于服务注册和发现的组件, 最开始主要应用于亚马逊公司旗下的云计算服务平台 AWS。Eureka 分为 Eureka Server 和 Eureka Client, Eureka Server 为 Eureka 服务注册中心, Eureka Client 为 Eureka 客户端 。

Eureka的优势

首先Eureka完全开源,在功能和性能上都非常稳定。其次,Eureka是SpringCloud首先推荐的服务注册与发现组件,与SpringCloud其它组件可以无缝对接。最后,Eureka和其它组件,比如负载均衡组件Ribbon、熔断器组件Hystrix、熔断器监控组件 Hystrix Dashboard 组件、熔断器聚合监控 Turbine 组件,以及网关 Zuul 组件相互配合,能够很容易实现服务注册、负载均衡、熔断和智能路由等功能。

Eureka的基本架构

Eureka主要有以下三种角色:

02SpringCloud简介

2019-03-12

#SpringCloud简介

微服务应该具备的功能

1.服务的注册与发现

服务注册是指向服务注册中心注册一个服务实例,服务提供者将自己的服务信息(如服务名、IP地址等〉告知服务注册中心。服务发现是指当服务消费者需要消费另外一个服务时,服务注册中心能够告知服务消费者它所要消费服务的实例信息(如服务名、 IP 地址等〉。通常情况下,一个服务既是服务提供者,也是服务消费者。服务消费者一般使用 HTTP 协议或者消息组件这种轻量级的通信机制来进行服务消费。
服务注册中心会提供服务的健康检查方案 ,检查被注册的服务是否可用。通常一个服务实例注册后,会定时向服务注册中心提供“心跳”,以表明自己还处于可用的状态 。

01微服务简介

2019-03-12

#01微服务简介

单体架构存在的不足

  • 业务越来越复杂,单体应用的代码量越来越大,代码的可读性、可维护性和可扩展性下降,新人接收代码所需的时间成倍增加,业务扩展带来的代价越来越大
  • 随着用户越来越多,程序承受的并发越来越高,单体应用的并发能力有限。
  • 测试的难度越来越大,单体应用的业务都在同一个程序中,随着业务的扩张、复杂度的增加,单体应用修改业务或者增加业务或许会给其他业务带来一定的影响,导致测试难度增加

##什么是微服务

2014年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时服务会使用最小的规模的集中管理 (例如 Docker) 能力,服务可以用不同的编程语言与数据库等元件实作。

redis命令一

2018-12-09

Step1.在客户端上执行Redis命令

本地

在本地,可以直接输入一个redis-cli命令来连接Redis客户端。

$redis-cli
redis 127.0.0.1:6379>

远程

如果是在远程的redis服务上执行命令,则连接redis客户端时还需要三个参数:主机-h 端口-p 密码-a

$redis-cli -h 127.0.0.1 -p 6379 -a "youpass"
redis 127.0.0.1:6379>

redis命令二

2018-12-09

这里将会整理列表(List),集合(Set),有序集合(zset),Redis基数统计等相关的命令

Redis列表命令(List)

Redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到头部或者尾部,一个列表最多可以包含2^32-1个元素

实例:

redis 127.0.0.1:6379>LPUSH ukeys redis
(integer) 1
redis 127.0.0.1:6379>LPUSH ukeys mongodb
(integer) 2
redis 127.0.0.1:6379>LPUSH ukeys memcached
(integer) 3
redis 127.0.0.1:6379>LRANGE ukeys 0 10
1)"memcached"
2)"mongodb"
3)"redis"

redis介绍与安装

2018-12-09

简介

什么是Redis?

Redis 是完全开源免费的,遵守BSD协议,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。是一个高性能的key-value数据库。它有以下三个特点:

  • 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
  • 它不仅仅支持简单的key-value类型的数据,同时还提供了list,set,zset,hash等数据结构的存储
  • 它支持数据的备份,即master-slave模式的数据备份

它有什么作用或优势?

  1. 性能极高 - Redis能读的速度是110000次/s,写的速度是81000次/s

SpringMVC常用注解

2019-03-12

SpringMVC常用注解

@Controller

org.springframework.stereotype.Controller注解是用来指示Spring类的实例是一个控制器。主要起到了一个标识的作用。使用它标记的类就是一个MVC里的Controller对象。Spring通过java的反射机制首先检测类是否有@Controller注解,如果有再去检测该类里面的方法是否含有@RequestMapping注解,然后再去invoke真正的处理请求的方法。

Spring找到控制器的两件必要事情

  • 在SpringMVC的配置文件的头文件中引入spring-context
  • 使用<context:component-scan base-package="top.code666.controller"/>元素,它的作用是:启动组件扫描,扫描top.code666.controller包下所有类文件,使得@Controller、@Service、@repository、@Component注解有效

SpringMVC中用于参数绑定的注解
~都在org.springframework.web.bind.annotation包中,根据处理request内容的不同可以分为以下四类:~

SpringBoot-全注解下的SpringIOC

2019-03-12

SpringBoot - ?????SpringIOC springboot ??? springframework?????web????????xml???????spring+springmvc???????????? ???IOC(Inversion of Controller)? IOC??????????????????????????????????j2ee new?????????Bean??????IOC????????????????? ?? - @Configuration @Bean????? @Configuration public class Appconfig{ @Bean(name="user") public User initUser(){ User user = new User(); user.setId(1L); user.setUserName("user_name_1"); user.setNote("note_1"); return user; } } @Configuration ??????java?????Spring??....