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 ...
随机推荐
- websocket客户端实现
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Interceptor for {http://cxf.liuyang.com/}IHiServiceService has thrown exception, unwinding now org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
Jquery同域访问:客户端连接服务器访问跨域访问:通过本地html文档,浏览器点击开访问(jquery不支持此访问) 用域名的方式访问http://localhost:8080/CXF_09_jqu ...
- EM 最大似然概率估计
转载请注明出处 Leavingseason http://www.cnblogs.com/sylvanas2012/p/5053798.html EM框架是一种求解最大似然概率估计的方法.往往用在存在 ...
- 咏南BS开发框架
咏南BS开发框架 开发工具为:DELPHI 2006及以上版本.欢迎索取演示. 通用的三级权限管理. 登录验证 输入帐号和密码验证登录系统. 功能菜单 在这里设置好菜单,系统运行的时候会根据菜单设置动 ...
- [编译,报错以及其他] 有关C/C++中int不能用-2147483648当最小值的问题
这个取决于今早看耗子叔的微博: 这里说到了int的取值范围的问题,int的取值是-2147483648 ~ 2147483647,但是如果直接在编译器(VS2013)中使用-2147483648会报错 ...
- zookeeper的主要应用
master选举 数据发布和订阅 负载均衡
- Tomcat启动报错Invalid character found in method name. HTTP method names must be tokens
1.tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同. 端口一: 修改http访问端口(默认为8080端口),配置文件为 ...
- 10-06 Linux的基本命令以及一些简单的通配符说明
Shell的通配符 主要用于模式匹配,如:文件名匹配,路径名搜索,字符查找等.常用的有:'*','?','[]' '*':代表任意长度的字串. '?':代表单个任意字符 '[]':代表模式串匹配的字符 ...
- UWP开发入门(五)——自定义Panel
各位好,终于讲到自定义Panel了.当系统自带的几个Panel比如Gird,StackPanel,RelativePanel不能满足我们的特定要求时(其实不常见啦),自定义Panel就显得非常必要,而 ...
- iOS Apple Watch 开发
1. Watch OS 1 与 Watch OS 2 的区别 : OS 1 中界面运行在手表上,而代码(Extension)运行在手机端:OS 2 是纯正的手表原生(Native)应用 由于架构的改变 ...