随笔分类 - [24]架构设计
摘要:本文摘录参考: "细说 CA 和证书" ( 主要讲解 CA 的使用 ) "数字签名是什么?" ( 简单理解原理 ) "深入浅出 HTTPS 工作原理" ( 深入理解原理 ) HTTP 协议由于是明文传送,所以存在三大风险: 1、被窃听的风险:第三方可以截获并查看你的内容 2、被篡改的危险:第三方可以
阅读全文
摘要:阅读目录: 1. 网关请求流程 2. Eureka 服务治理 3. Config 配置中心 4. Hystrix 监控 5. 服务调用链路 6. ELK 日志链路 7. 统一格式返回 "Java 微服务框架选型(Dubbo 和 Spring Cloud?)" 目前公司使用的 Spring Cloud
阅读全文
摘要:默认情况下,Eureka 使用 hostname 进行服务注册,以及服务信息的显示,那如果我们使用 IP 地址的方式,该如何配置呢?答案就是 。 目的:我们配置 来保证 Eureka Server 相互注册时 hostname 使用 IP 地址,同时使用 IP 地址作为 的配置值。 Eureka S
阅读全文
摘要:1. 消息顺序 场景:比如下单操作,下单成功之后,会发布创建订单和扣减库存消息,但扣减库存消息执行会先于创建订单消息,也就说前者执行成功之后,才能执行后者。 不保证完全按照顺序消费,在 MQ 层面支持消息的顺序处理开销太大,为了极少量的需求,增加整体上的复杂度得不偿失。 所以, 还是在应用层面处理比
阅读全文
摘要:本文主要摘录自: "详细介绍Spring Boot + RabbitMQ实现延迟队列" 并增加了自己的一些理解,记录下来,以便日后查阅。 项目源码: "spring boot rabbitmq delay queue 实现" "stream rabbitmq delay queue 实现" 背景 何
阅读全文
摘要:一、RabbitMQ集群方案的原理 RabbitMQ这款消息队列中间件产品本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的magic cookie来实现)。 因此,RabbitMQ天然支持Clustering。这使得RabbitMQ本身不需要像Acti
阅读全文
摘要:一般情况下,我们会使用 rabbitmq_management 插件,通过 Web UI 的方式来监控和操作 RabbitMQ(端口 15672),但有时候命令的方式会更加方便一些,RabbitMQ 提供了 CLI 管理工具 rabbitmqadmin ,其实就是基于 RabbitMQ 的 HTTP API,用 Python 写的一个脚本。
阅读全文
摘要:阅读目录: 1. Spring Cloud Eureka 注册服务及调用 2. Spring Cloud Hystrix 断路器 3. Spring Cloud Hystrix 指标监控 4. Spring Cloud Config 配置中心 现在主流的开发平台是微服务架构,在众多的微服务开源项目中
阅读全文
摘要:相关文章: "ELK 架构之 Elasticsearch 和 Kibana 安装配置" "ELK 架构之 Logstash 和 Filebeat 安装配置" "ELK 架构之 Logstash 和 Filebeat 配置使用(采集过滤)" "Spring Boot 使用 Log4j2" 之前安装 E
阅读全文
摘要:相关文章: "ELK 架构之 Elasticsearch 和 Kibana 安装配置" "ELK 架构之 Logstash 和 Filebeat 安装配置" ELK 使用步骤:Spring Boot 日志输出到指定目录,Filebeat 进行采集,Logstash 进行过滤,Elasticsearc
阅读全文
摘要:上一篇: "ELK 架构之 Elasticsearch 和 Kibana 安装配置" 阅读目录: 1. 环境准备 2. 安装 Logstash 3. 配置 Logstash 4. Logstash 采集的日志数据,在 Kibana 中显示 5. 安装配置 Filebeat 6. Filebeat 采
阅读全文
摘要:阅读目录: 1. ELK Stack 简介 2. 环境准备 3. 安装 Elasticsearch 4. 安装 Kibana 5. Kibana 使用 6. Elasticsearch 命令 最近在开发分布式服务追踪,使用 Spring Cloud Sleuth Zipkin + Stream +
阅读全文
摘要:应用场景:Spring Boot 服务添加 Zipkin 依赖,进行服务调用的数据采集,然后进行 Zipkin Server 服务调用追踪显示。 示例 配置: 添加 程序包,Spring Boot 启动的时候,报下面错误: 解决方案,添加如下程序包引用: 参考资料: "can not start u
阅读全文
摘要:相关文章: "搭建 RabbitMQ Server 高可用集群" 具体错误信息: Spring Boot 配置 RabbitMQ(使用 HAProxy 负载均衡): 最近使用 RabbitMQ 集群的时候(HAProxy 负载均衡),频繁的出现上面错误信息,但是消息可以正常被消费掉,如果只使用单机版
阅读全文
摘要:阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 因为公司测试服务器暂不能用,只能在自己电脑上重新搭建一下 RabbitMQ Server 高可用集
阅读全文
摘要:先说下自己开发的实例。 最近在使用 Spring Cloud Config 做分布式配置中心(基于 SVN/Git), 当所有服务启动后,SVN/Git 中的配置文件更改后,客户端服务读取的还是旧的配置,并不能实时读取(配置信息会缓存在客户端) ,Spring Boot 提供了一种方式进行更新(通过
阅读全文
摘要:Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来,让这些实例不会过期,但是在保护期内如果服务刚好这个服务提供者非正常下线了,此时服务消费者就会拿到一个无效的服务实例,此时会调用失败,对于这
阅读全文
摘要:开发部署 Spring Cloud 微服务框架,需要先确定 Spring Cloud 的相关环境版本,主要包含:Spring Cloud、Spring Cloud Netflix、JDK、JRE、Java Version等相关版本,以及环境的配置。 现在最新版本 Java 10、Spring Boo
阅读全文
摘要:微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 以往我们开发应用程序都是单体型(可以看作是一个怪
阅读全文
摘要:Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具,它为基于 JVM 的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。通过 Spring Boot 风格进行再封装屏蔽
阅读全文