springcloud应用思考
1 springcloud注册中心eureka和zookeeper注册中心的区别:
eureka注册中心,在服务选主的时候服务还是可以用的,zookeeper注册中心在选举的时候整个服务瘫痪了,是不可以用的,虽然eureka版本不更新了,
但是老版本的功能适用,满足需求,所以我们还是使用eureka注册中心
2 项目中使用的定时任务采用的是什么
采用的是开源项目徐学礼开发的xxl-job,springtask在传统的项目中是可以使用的,但是在分布式环境中,会存在多个执行的情况,虽然可以使用redis
分布锁实现或者zookeeper分布式锁实现,谁拿到锁就执行,但是那是重复造轮子,所以我们寻找了开源项目xxl-job,他的实现思路跟锁的实现是一样的
3 分布式锁的实现原理
redis跟zookeeper的分布式锁实现原理是一样的,redis是创建key,如果key存在代表存在,就不创建,代表有人拿到锁了,如果key不存在就重新创建,
zookeeeper是创建节点node来实现的
4 hystrix熔断机制
分为两种,一种是线程池熔断,一种是信号量熔断,项目中采用的是线程池熔断,降级,hystrixcommod这个是返回一个结果的,hystrixObservecommod返回多个
结果的,在项目中调用时候,写一个调用服务的实现类,配置下就可以,就可以使用了,同时配置同一接口的访问量,重试时间
5 网关zuul和gateway的区别
zuul采用的是bio,gateway采用的是netty,性能,后者较好,如果写的是前者,就说项目还没有升级,网关其实就相当于门面模式,当我们进入时候,
看到的只是门面,但是根据我们的需要会转发到不同的服务
6 服务注册的安全性,
采用springsecurity进行保护安全的,不是所有人都可以的注册
7 用户信息模块登录信息的维护,采用的jwt
8 feign调用注意事项,必须要加上参数,即使参数名跟参数一样,也是必须要加上,是由于底层实现时候,需要根据这个动态实现,否则无法知道
参数的传递方式
9 接口的安全性,才可以springscurity进行的,
10 ribbon负载均衡:
他跟nginx负载均衡不同.nginx负载均衡是借助外部进行负载均衡,ribbon采用的是代码上的负载均衡,负载均衡常用的策略用,权重,url hash,ip hash,轮询,默认采用的
是轮询
11 hash算法,
取得值的hash进行特定的分发,假设你设定对3 取余,那么 就会根据余数进行分配,例如 redis 采用的是hash solt算法 ,除以16384,也就是将redis集群分为16384个槽,再进行分配
springcloud应用思考的更多相关文章
- springcloud微服务架构的思考
在网上找到一张关于微服务体系架构的图 应用组件: 首先对于整个程序的入口应该是网关,zuul部分 这个组件在springcloud中的gateway服务之后,zuul可以进行网关分配,根据想应的路劲进 ...
- SpringCloud(7)---网关概念、Zuul项目搭建
SpringCloud(7)---网关概念.Zuul项目搭建 一.网关概念 1.什么是路由网关 网关是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求.鉴权.监控. ...
- 以实例说明微服务拆分(以SpringCloud+Gradle)
前言 之前,我都是说了很多的关于微服务的概念,说到底,很多人看了之后会认为没有什么意思,因为没有实际的东西说明,即使每个概念都明白了,也很难赋之实践.所以这次,我来用一个实际的例子去说明,在实际的项目 ...
- springcloud学习第一坑
我是根据周立先生所写的<Spring+Cloud与Docker微服务架构实战>来学习SpringCloud的,我会记录下来我日常遇到的所有问题,包括但不仅只包括SpringCloud的问题 ...
- SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)
1.概念:SpringCloudConfig 基础配置 2.具体内容 通过名词就可以发现,SpringCloudConfig 核心作用一定就在于进行配置文件的管理上.也就是说为了更好的进行所有微服务的 ...
- 深入理解SpringCloud与微服务构建学习总结
说明:用时 from 2018-11-16 to 2018-11-23 七天 0 放在前面 什么是微服务? 微服务是一个分布式系统.微服务架构的风格,就是将单一程序开发成一个微服务,每个微服务 ...
- SpringCloud 简单理解
0.SpringCloud,微服务架构.包括 服务发现(Eureka),断路器(Hystrix),服务网关(Zuul),客户端负载均衡(Ribbon).服务跟踪(Sleuth).消息总线(Bus).消 ...
- 一个神秘现象引发对beego框架的思考
小强最近在项目中遇到了一个很奇怪的问题:在整改日志规范时,为了避免影响现有的代码结构以及改动尽可能小的前提下,在调用记日志的SDK处将某一个字段值首字母改为大写,代码示例如下: fmt.Println ...
- Dubbo 在 K8s 下的思考
作者 | 曹胜利 Apache Dubbo PMC 导读:Dubbo 作为高性能 Java RPC 框架的刻板印象早已深入人心,在 Cloud Native 的架构选型上,Spring Cloud ...
随机推荐
- 《剑指offer》读书笔记
二叉树 重建二叉树 面试题6:(p55) 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树. 假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如输入前序遍历序列{1, 2, 4 ...
- iconv()错误
//转换字符编码过程中报错,数据会丢失,解决办法:设置第二个参数为gbk//IGNORE $strexport=iconv('UTF-8',"GBK",$strexport); $ ...
- 10 Consensus and Profile
Problem A matrix is a rectangular table of values divided into rows and columns. An m×nm×n matrix ha ...
- Django和Ajax
本文目录 一 什么是Ajax 二 基于jquery的Ajax实现 三 案例 四 文件上传 五 Ajax提交json格式数据 六 Django内置的serializers(把对象序列化成json字符串) ...
- CoreText
[CoreText] Core Text is designed for development of higher-level text-handling frameworks. General ...
- 【转】WIFI基本知识整理
WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习.因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种 ...
- 微信小程序Wepy框架的三个事件交互($broadcast,$emit,$invoke)
$broadcast: $broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消.事件广播的顺序为广度优先搜索顺序,如上图,如果页面Page_Index发起一个$bro ...
- ubuntu解压文件命令大全
ubuntu 下rar解压工具安装方法: 压缩功能 安装 sudo apt-get install rar 卸载 sudo apt-get remove rar 解压功能 安装 sudo apt-ge ...
- TypeToken 是google提供的一个解析Json数据的类库中一个类
Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Type是java里的reflect包的Type ...
- Delphi 自带的字符串分割函数split
下面介绍Delphi自带的字符串分割函数,根据你的需要来使用. 1.ExtractStrings function ExtractStrings(Separators, WhiteSpace: TSy ...