![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring-cloud系列
llianlianpay
快来吐槽
展开
-
spring-boot 集成spring-session redis
查看redis是否可用redis-cli -h 192.168.1.103 -p 6379auth 123456keys * 9) "spring:session:sessions:expires:c1295cf3-e0f7-4f01-8c31-fe85dab6517b"默认request header:Cookie:SESSION=531b91原创 2018-01-04 14:01:29 · 220 阅读 · 0 评论 -
Spring Cloud使用zookeeper作为服务注册中心与配置中心
查看zk ./zkCli.sh -server localhost:2181ls /test服务注册:service-app org.springframework.boot spring-boot-starter-web org.springframew原创 2018-01-05 10:22:29 · 2894 阅读 · 0 评论 -
spring-boot-klock-starter分布式锁项目开源
前言碎语spring-boot-klock-starter是一个基于redis的分布式锁spring boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目,使用和接入都非常简单方便,现开源出来,给所有需要分布式锁能力的项目提供一个方案项目地址:https://gitee.com/ke转载 2018-01-05 14:01:36 · 4191 阅读 · 0 评论 -
服务的注册与发现(Eureka)
一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解,如果不了解的话可以看这篇文章:2小时学会sp转载 2018-01-04 15:41:07 · 3436 阅读 · 2 评论 -
系统cap & base
分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。关系数据库的ACID模型拥有原创 2018-01-05 13:45:21 · 189 阅读 · 0 评论 -
spring-cloud-task(1)简单使用
Spring Cloud Task使用关系数据库来存储执行任务的结果。 虽然可以在没有数据库的情况下开始开发任务(任务的状态会记录为任务存储库更新的一部分),但对于生产环境,您将需要使用受支持的数据库。 以下是目前支持的列表:DB2H2HSQLDBMySqlOraclePostgresSqlServer注解@EnableTask告诉Spring Cloud Task引导它的功能原创 2018-01-06 09:55:28 · 7632 阅读 · 1 评论 -
Eureka-注册中心
角色:1 服务提供者2 服务消费者 3 服务注册中心 a.高HA:支持数据持久化和服务集群 b.数据一致性问题,集群中的所有客户应该看到同一份数据不能出现读写数据不一致c.数据变更主动推送,当注册中心的数据发生变更时要及时通知客户端关键性功能设计:1)服务提供者在启动时,向注册中心注册自己提供的服务2)原创 2018-01-07 19:49:12 · 1150 阅读 · 0 评论 -
consul注册中心
注册中心的设计都逃不过如下形式:同一个服务不同的提供机器需要设置不同instance-id:测试发现,使用consul服务消费方可以立即知道服务提供方down掉了,应该是consul主动通知的;eureka是消费方同步的,如果使用单个节点作为注册中心,存在提供方掉线后,不能invoke的现象。原创 2018-01-07 23:17:18 · 563 阅读 · 0 评论 -
基于redis分布式主键生成
http://blog.csdn.net/hengyunabc/article/details/44244951IdGenerator idGenerator = IdGenerator.builder() .addHost("127.0.0.1", 6379, "fce3758b2e0af6cbf8fea4d42b379cd0dc374418")//转载 2018-01-08 23:52:16 · 867 阅读 · 0 评论 -
反向代理(zuul)
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现(eureka)、服务消费(feign)、负载均衡(ribbon)、断路器(hytrix)、智能路由(zuul)、配置管理(xxconf)等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。reference: https://www.cnblogs.com/ityouknow/p/6944096.html原创 2018-01-04 19:21:53 · 914 阅读 · 0 评论 -
Eureka-注册中心集群配置
双节点注册中心首次我们尝试一下双节点的注册中心的搭建。1、创建application-peer1.properties,作为peer1服务中心的配置,并将serviceUrl指向peer2spring.application.name=spring-cloud-eurekaserver.port=8000eureka.instance.hostname=peer1eur转载 2018-01-10 17:20:17 · 11979 阅读 · 2 评论 -
分布式锁在spring-cloud的实践.2
在《分布式锁在spring-cloud的实践.1》中,每次获锁时,都有一次查询操作,在并发场景下,也增加了延迟和redis的压力,redis提供了redlock解决方案。redlock简介在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。实现高效的分布式锁有三个属性需要考虑:安全属性:互斥,不管什么时候,只有一个客户端持有锁效率属性A:不会死锁效原创 2018-01-04 19:42:47 · 682 阅读 · 0 评论 -
sring-cloud-bus & eureka config
启动config-server后:http://localhost:8001/eureka-config-client-dev.properties返回 name: nick2018说明服务端可以正常读取到git代码库中的配置信息。查看环境配置:http://localhost:8001/eureka-config-client/dev{ "name":原创 2018-01-13 21:23:05 · 246 阅读 · 0 评论 -
使用consul做为配置中心
config: enabled: true data-key: myconf format: PROPERTIES@ConfigurationProperties()public class Config { private String name;缺点:不能自动更新Consul-template是C原创 2018-01-10 20:07:32 · 2908 阅读 · 0 评论 -
consul的ACL配置
[1] consul的查询下载后,启动 consul agent -dev查询服务:DNS方式:dig @127.0.0.1 -p 8600 web.service.consul SRVHttp方式:curl http://localhost:8500/v1/catalog/service/consuldig @127.0.0.1 -p 8600 c原创 2018-01-10 22:10:22 · 5972 阅读 · 0 评论 -
服务消费方Feign & RestTemplate
在Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign,鉴于feign注解化更方便使用,先讲解feign.demo中使用的注册中心是eureka,如果使用consul,需要修改配置:#spring:# profiles:# active: dev# application:# name: service-fei原创 2018-01-04 15:59:22 · 6120 阅读 · 0 评论 -
断路器(Hystrix)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫原创 2018-01-04 16:25:14 · 278 阅读 · 0 评论 -
springcloud 使用问题
io.springfox springfox-swagger2 io.springfox springfox-swagger-ui @Configuration@EnableSwagger2public class AppConfig extends WebMvcConf原创 2018-01-13 01:06:21 · 238 阅读 · 0 评论 -
分布式锁在spring-cloud的实践.1
如果环境中部署了zk集群利用zk/node特性是容易实现分布式锁的功能,如何利用redis实现分布式锁呢?一般来说,对数据进行加锁时,程序先通过acquire获取锁来对数据进行排他访问,然后对数据进行一些列的操作,最后需要释放锁。Redis 本身用 watch命令进行了加锁,这个锁是乐观锁。使用 watch命令对于频繁访问的键会引起性能的问题。原创 2018-01-04 17:42:15 · 367 阅读 · 0 评论 -
spring-cloud概述
架构发展史单体架构垂直架构在单体架构发展一段时间后,公司的业务模式得到了认可,交易量也慢慢的大起来,这时候有些企业为了应对更大的流量,就会对原有的业务进行拆分,比如说:后台系统、前端系统、交易系统等。在这一阶段往往会将系统分为不同的层级,每个层级有对应的职责,UI层负责和用户进行交互、业务逻辑层负责具体的业务功能、数据库层负责和上层进行数据交换和存储。S转载 2018-01-10 17:13:00 · 253 阅读 · 0 评论