Spring Boot

用 Docker 快速搭建 Kafka 集群

前提是你 提交于 2021-01-10 10:27:52
开源Linux 一个执着于技术的公众号 版本 • JDK 14 • Zookeeper • Kafka 安装 Zookeeper 和 Kafka Kafka 依赖 Zookeeper,所以我们需要在安装 Kafka 之前先拥有 Zookeeper。准备如下的 docker-compose.yaml 文件,将文件中的主机地址 192.168.1.100 替换成你自己的环境中的主机地址即可。 version : "3" services : zookeeper : image : zookeeper build : context : ./ container_name : zookeeper ports : - 2181 : 2181 volumes : - ./ data / zookeeper / data :/ data - ./ data / zookeeper / datalog :/ datalog - ./ data / zookeeper / logs :/ logs restart : always kafka_node_0 : depends_on : - zookeeper build : context : ./ container_name : kafka - node - 0 image : wurstmeister / kafka environment

RabbitMQ与SpringBoot整合

流过昼夜 提交于 2021-01-10 05:34:46
RabbitMQ与SpringBoot整合 RabbitMQ SpringBoot 一.RabbitMQ的介绍 二.Direct模式 三.Topic转发模式 四.Fanout Exchange形式 一.RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿里巴巴公司的,现已经转让给apache). 消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下: 从上图可看出,对于消息队列来说,生产者,消息队列,消费者是最重要的三个概念,生产者发消息到消息队列中去,消费者监听指定的消息队列,并且当消息队列收到消息之后,接收消息队列传来的消息,并且给予相应的处理.消息队列常用于分布式系统之间互相信息的传递. 对于RabbitMQ来说,除了这三个基本模块以外,还添加了一个模块,即交换机(Exchange).它使得生产者和消息队列之间产生了隔离,生产者将消息发送给交换机,而交换机则根据调度策略把相应的消息转发给对应的消息队列.那么RabitMQ的工作流程如下所示: 紧接着说一下交换机.交换机的主要作用是接收相应的消息并且绑定到指定的队列.交换机有四种类型,分别为Direct

spring cloud + spring boot + springmvc+mybatis分布式微服务云架构

这一生的挚爱 提交于 2021-01-10 04:37:46
做一个微服务架构需要的技术整理: 壹玖零叁八叁贰伍柒玖 View: H5、Vue.js、Spring Tag、React、angularJs Spring Boot/Spring Cloud: Zuul、Ribbon、Feign、Turbine、Hystrix、Oauthor2、Sleuth、API Gateway、Spring Cloud、Config Eureka、SSO、Spring Cloud、 BUS、Turbine、Zipkin、Cache、Spring Cloud Admin、API Gateway、ELK Spring Cloud Security、 Spring Cloud Stream Component: RoketMQ、Kafka、MongoDB、OSS、Redis、Swagger、Zuul、Label、BASE、Charts、Utils DAO: Spring Data、Mybatis、OSS、 DTO Data Storage: RDBS DFS、NOSQL/Hadoop Infrastructure: LogBack、BUS、Jenkins、Zipkin、Druid、Swagger、Docker 来源: oschina 链接: https://my.oschina.net/u/3873725/blog/2396013

垃圾代码书写准则

冷暖自知 提交于 2021-01-10 02:38:06
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里--> Spring Boot+Vue+微人事视频教程 还记得雷布斯这句话吗? 好的代码可以像诗一样优雅,然而并非人人都能写的一手好代码!老实说,想写一手不被同事吐槽的代码确实不容易,特别是有的小伙伴在工作中公司都没有明确的代码规范,或者仅仅只是一些口头约定,这样就更难养成一些良好的代码书写习惯了。 不过 IDEA 中有一个 Alibaba 代码规范插件,可以自己装着起一个约束提醒自己的作用。 最近松哥在 GitHub 上看到一个开源项目,还挺有意思的,作者罗列出了什么样的代码是垃圾代码,仓库地址如下: https://github.com/trekhleb/state-of-the-art-shitcode 小伙伴们不妨看一看,你有没有中招。 垃圾代码书写准则 💩 以一种代码已经被混淆的方式命名变量 如果我们键入的东西越少,那么就有越多的时间去思考代码逻辑等问题。 Good 👍🏻 let a = 42 ; Bad 👎🏻 let age = 42 ; 💩 变量/函数混合命名风格 为不同庆祝一下。 Good 👍🏻 let wWidth = 640 ; let w_height = 480 ; Bad 👎🏻 let windowWidth = 640 ; let windowHeight = 480 ; 💩

springboot错误1 Failed to execute goal org.springframework.boot:spring-boot-maven-plugin

不打扰是莪最后的温柔 提交于 2021-01-09 22:57:37
关于Springboot打包错误的问题 | Failed to execute goal org.springframework.boot:spring-boot-maven-plugin https://blog.csdn.net/qq_30553235/article/details/79094315(copy 最近在使用spring-boot,但是maven install时总会报错:Failed to execute goal org.springframework.boot:spring-boot-maven-plugin,导致错误的原因是pom.xml中引入了如下配置: < plugin > < groupId > org.apache.maven.plugins </ groupId > < artifactId > maven-compiler-plugin </ artifactId > </ plugin > 这里引入了spring-boot-maven-plugin,打包时会去扫描项目main方法入口,也就是说引入该配置,你就必须在项目src/main/java/下创建一个spring-boot启动类: import org.springframework.boot.SpringApplication; import org.springframework

SpringBoot 参数符号转义,用这个包下面的类

筅森魡賤 提交于 2021-01-09 17:09:30
SpringBoot 参数符号转义,用这个包下面的类 org.apache.commons.text.StringEscapeUtils String team = StringEscapeUtils.unescapeHtml4(biUserOrganization.getTeam()); 2017/12/01 | Java | admin | 暂无评论 | 8717 views 如题所示,之前一直使用commons-lang3-3.x.jar 这个jar包里面的 org.apache.commons.lang3.StringEscapeUtils 类来转义特殊字符,但是最近发现使用这个类会出现以下提示: 1 2 3 4 Multiple markers at this line - The type StringEscapeUtils is deprecated - The method escapeXml11 ( String ) from the type StringEscapeUtils is deprecated 看提示是说 StringEscapeUtils 这个类已经过期了,提醒使用新的替代类。看了下这个类的 官方文档 ,很自然地找到了新的替代类——org.apache.commons.text.StringEscapeUtils 因此

springboot整合kafka

﹥>﹥吖頭↗ 提交于 2021-01-09 17:02:31
为了方便起见安装zk集群和kafka集群我就不详细说明了,以下摘自https://www.cnblogs.com/lentoo/p/7785004.html,文章部分内容我做了修改,因为版本或者命令改变 kafka集群搭建(windows环境下) 一、简介 Kafka 是一个实现了分布式的、具有分区、以及复制的日志的一个服务。它通过一套独特的设计提供了消息系统中间件的功能。它是一种发布订阅功能的消息系统。 1、名词介绍 Message 消息,就是要发送的内容,一般包装成一个消息对象。 Topic 通俗来讲的话,就是放置“消息”的地方,也就是说消息投递的一个容器。假如把消息看作是信封的话,那么 Topic 就是一个邮箱 Partition && Log Partition 分区,可以理解为一个逻辑上的分区,像是我们电脑的磁盘 C:, D:, E: 盘一样, Kafka 为每个分区维护着一份日志Log文件。 Producers (生产者) 和其他消息队列一样,生产者通常都是消息的产生方。 在 Kafka 中它决定消息发送到指定Topic的哪个分区上。 Consumers (消费者) 消费者就是消息的使用者,在消费者端也有几个名词需要区分一下。 一般消息队列有两种模式的消费方式,分别是 队列模式 和 订阅模式 。 队列模式 :一对一,就是一个消息只能被一个消费者消费,不能重复消费

你还在从零搭建项目 ?

六月ゝ 毕业季﹏ 提交于 2021-01-09 12:37:29
点击上方“ 黄小斜 ”,选择“ 设为星标 ” 做积极的人,而不是积极废人 作者 | 无知者云 链接 | https://www.cnblogs.com/davenkin 前言 在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为“第0个迭代”要做的事情。但是,当项目运行了一段时间之后再来反观,我总会发现一些不足的地方,要么测试分类没有分好,要么基本的编码架子没有考虑周全。 另外,我在工作中也会接触到很多既有项目,公司内部和外部的都有,多数项目的编码实践我都是不满意的。比如,我曾经新加入一个项目的时候,前前后后请教了3位同事才把该项目在本地运行起来;又比如在另一项目中,我发现前端请求对应的Java类命名规范不统一,有被后缀为Request的,也有被后缀为Command的。 再者,工作了这么多年之后,我越来越发现基础知识以及系统性学习的重要性。诚然,技术框架的发展使得我们可以快速地实现业务功能,但是当软件出了问题之后有时却需要将各方面的知识融会贯通并在大脑里综合反应才能找到解决思路。 基于以上,我希望整理出一套公共性的项目模板出来,旨在尽量多地包含日常开发之所需,减少开发者的重复性工作以及提供一些最佳实践。对于后端开发而言,我选择了当前被行业大量使用的Spring Boot,基于此整理出了一套公共的、基础性的实践方式

Spring Cloud Spring Boot mybatis分布式微服务云架构

不想你离开。 提交于 2021-01-09 10:03:13
简介 在上一节中,我们讨论了feign+hystrix在项目开发中,除了考虑正常的调用之外,负载均衡和故障转移也是关注的重点,这也是feign + ribbon+hystrix的优势所在,本节我们就讨论一下在feign中使用ribbon,有两种方式 一、通过在配置文件application.yml配置,开启ribbon,并指定调用生产者相对上一节可以不做任何更改,可以看项目(microservice-consumer-movie-feign-with-hystrix-hystrix-factory) 项目结构如下: application.yml配置文件: spring: application: name: microservice-consumer-movie-feign-with-hystrix-hystrix-factory server: port: 7901 eureka: client: healthcheck: enabled: true serviceUrl: defaultZone: http://jacky:admin@peer1:8761/eureka/,http://jacky:admin@peer2:8762/eureka/,http://jacky:admin@peer3:8763/eureka/ instance: prefer-ip-address

Spring Cloud Config 自动刷新所有节点 架构改造

ぐ巨炮叔叔 提交于 2021-01-09 06:14:21
详细参考:《Sprin Cloud 与 Docker 微服务架构实战》p162-9.9.4节 要做的改动是: 1、在spring cloud config server 服务端加入 spring-cloud-starter-bus-amqp 包 <?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.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.thunisoft</groupId> <artifactId>thunisoft-microservice-config</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>thunisoft-microservice-config</name>