Kafka MQ 集群配置步骤

以集群中有三个节点为例: 1、下载Kafka并解压 > cd /opt > curl http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz > tar -xzf kafka_2.12-2.2.0.tgz > cd kafka_2.12-2.2.0 2、开启Zookeeper 2.1 方法一:Kafka的安装包中自带了Zookeeper,可以直接启动: > bin/zookeeper-server-start.sh config/zookeeper.properties 2.2 方法二(推荐):自建Zookeeper集群,参考:Zookeeper集群配置 3、修改各节点的 server.properties > vi config/server.properties 3.1 修改 log.dirs 为 /data/kafka-logs,防止临时目录被清理 # log.dirs=/tmp/kafka-logs log.dirs=/data/kafka-logs ...
阅读全文

Zookeeper集群配置步骤

1、下载并安装jdk 2、下载并解压zookeeper-3.4.13.tar.gz cd /opt curl https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz tar -xzvf zookeeper-3.4.13.tar.gz 3、复制zoo_sample.cfg为zoo.cfg,zookeeper默认使用zoo.cfg的配置 cp /conf/zoo_sample.cfg zoo.cfg 4、修改zoo.cfg # 修改zk默认的数据存储位置,因为linux的/tmp目录会被清理 dataDir=/tmp/zookeeper > /data/zookeeper # 文件最后加上集群各个节点的信息,格式为: # server.x=ip:portA:portB # x: 集群中节点的标识 # ip: 集群中节点的ip # portA: 与Leader通信的端口,端口可以自定义,不重复就行 # portB: 用于选举的端口,端口可以自定义,不重复就行 server.1=20.1.1...
阅读全文

Mysql数据库的30条军规及解读[58到家]

摘自:https://www.jianshu.com/p/a7541879dd7a 军规适用场景:并发量大、数据量大的互联网业务 一、基础规范 (1)必须使用 InnoDB 存储引擎 解读:支持事务、行级锁、并发性能更好、CPU 及内存缓存页优化使得资源利用率更高 (2)必须使用 utf8/utf8mb4 字符集 解读:通用,无乱码风险,汉字3字节,英文1字节,utf8mb4是utf8的超集,适用于存储4字节例如表情符号时 (3)数据表、数据字段必须加入中文注释 解读:N 年后谁 tm 知道这个 r1,r2,r3 字段是干嘛的 (4)禁止使用存储过程、视图、触发器、Event 解读:高并发大数据的互联网业务,架构设计思路是“解放数据库 CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”。数据库擅长存储与索引,CPU 计算还是上移吧 (5)禁止存储大文件或者大照片 解读:为何要让数据库做它不擅长的事情?大文件和照片存储在文件系统,数据库里存 URI 多好 二、命名规范 (6)只允许使用内网域名,而不是 ip 连接...
阅读全文

IntelliJ IDEA提高开发效率的八条配置

自动编译开关 忽略大小写开关 智能导包开关 悬浮提示开关 取消单行显示tabs的操作 项目文件编码 滚轴修改字体大小 设置行号显示 1. 自动编译开关 File > Settings > Build, Execution, Deployment > Compiler > Build project automatically,勾选。 2. 忽略大小写开关 IntelliJ IDEA默认是匹配大小写,此开关如果未关。你输入字符一定要符合大小写。比如你敲string是不会出现代码提示或智能补充。但是,如果你开了这个开关,你无论输入String或者string都会出现代码提示或者智能补充! File > Settings > Editor > General > Code Completion > Case sensitive completion, 选择 “None”。 3. 智能导包开关 File > Settings > Editor > General > Auto I...
阅读全文

Spring Cloud Bus Kafka + Config 刷新集群配置 - Spring Cloud

用Spring cloud config搭建了配置中心后,当修改配置后,可以通过直接发送post请求到[/actuator/refresh]进行刷新配置,无需重启服务新配置即可生效。 而当我们的服务部署了集群后,就需要对每个节点挨个发送请求进行刷新,影响维护效率,消息总线 Spring Cloud Bus 可以帮助解决这个问题。 前置条件: a. 启动Spring cloud eureka server: http://localhost:8888; b. 启动Spring cloud config server; c. 启动kafka,端口:9092。 1、首先创建springboot工程,pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache...
阅读全文

Spring Cloud Bus Kafka 发送和接受消息 - Spring Cloud

在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以我们称它为消息总线。在总线上的各个实例都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息, 例如配置信息的变更或者其他 一 些管理操作等。 由于消息总线在微服务架构系统中被广泛使用,所以它同配置中心一样,几乎是微服务架构中的必备组件。 Spring Cloud 作为微服务架构综合性的解决方案,对此自然也有自己的实现,这就是“Spring Cloud Bus”。 通过使用Spring Cloud Bus,可以非常容易地搭建起消息总线,同时实现了一些消息总线中的常用功能,比如,配合Spring Cloud Config 实现微服务应用配置信息的动态更新等。 目前Spring Cloud Bus提供了对RabbitMQ和Kafka的支持,下面以Kafka为例,介绍一下如何发送和接收消息(基于spring boot 2.0.4.RELEASE)。 1、首先创建springboot工程,并引入依赖: <dependency>...
阅读全文

Spring Cloud Security Oauth2 Client - Spring Cloud

利用Spring Cloud Security Oauth2如何对接第三方的认证和授权服务?以集成Github SSO为例: 1、注册github帐号并申请一个Oauth应用。 打开地址:https://github.com/settings/developers,点击按钮“Register a new application”,按要求填写信息即可。申请成功后会有“Client ID”和“Client Secret”。 注意:申请时填写的“Authorization callback URL”(http://localhost:8080/login)需要与security.oauth2.sso.loginPath(默认为: /login)对应。 2、添加spring-cloud-starter-oauth2依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-oauth2</artifactId...
阅读全文

Spring Cloud Security 权限控制 - Spring Cloud

Spring Security 为基于Java EE的企业软件应用提供了全面的安全服务,而Spring cloud security可以极大的简化我们的配置,一个最简单的工程只需要在Spring boot工程中依赖spring-cloud-starter-security即可。 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-security</artifactId> </dependency> 1、默认用户名为user,密码在启动日志中查找如下内容: Using default security password: 05be6203-6bfc-4f80-8b26-187af9c8e21d 2、如果要自定义用户名和密码,只需修改配置文件application.yml security: user: name: admin password: 12345...
阅读全文

Spring Cloud Hystrix Dashboard - Spring Cloud

“Spring Cloud Hystrix 断路器” Hystrix可以收集每个断路器(以HystrixCommand注解的)的运行状态, 由 Hystrix Dashboard 以界面化的方式进行展示。 1、需要的依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframewo...
阅读全文