kafkaConfig
生产者配置 NAME DESCRIPTION TYPE DEFAULT VALID VALUES IMPORTANCE bootstrap.servers host/port列表,用于初始化建立和Kafka集群的连接。列表格式为host1:port1,host2:port2,….,无需添加所有的集群地址,kafka会根据提供的地址发现其他的地址(你可以多提供几个,以防提供的服务器关闭) list high key.serializer 实现 org.apache.kafka.common.serialization.Serializer 接口的 key 的 Serializer 类。 class high value.serializer 实现 org.apache.kafka.common.serialization.Serializer 接口的value 的 Serializer 类。 class high acks 生产者需要leader确认请求完成之前接收的应答数。此配置控制了发送消息的耐用性,支持以下配置: string 1 ...
微服务面试题
常见面试题1.微服务篇1.1.SpringCloud常见组件有哪些?问题说明:这个题目主要考察对SpringCloud的组件基本了解 难易程度:简单 参考话术: SpringCloud包含的组件很多,有很多功能是重复的。其中最常用组件包括: 注册中心组件:Eureka、Nacos等 负载均衡组件:Ribbon 远程调用组件:OpenFeign 网关组件:Zuul、Gateway 服务保护组件:Hystrix、Sentinel 服务配置管理组件:SpringCloudConfig、Nacos 1.2.Nacos的服务注册表结构是怎样的?问题说明:考察对Nacos数据分级结构的了解,以及Nacos源码的掌握情况 难易程度:一般 参考话术: Nacos采用了数据的分级存储模型,最外层是Namespace,用来隔离环境。然后是Group,用来对服务分组。接下来就是服务(Service)了,一个服务包含多个实例,但是可能处于不同机房,因此Service下有多个集群(Cluster),Cluster下是不同的实例(Instance)。 对应到Java代码中,Nacos采用了一...
es集群
部署es集群我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。 部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有1G的内存空间 1.1.创建es集群首先编写一个docker-compose文件,内容如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758version: '2.2'services: es01: image: elasticsearch:7.12.1 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_maste...
Redis集群
Redis集群本章是基于CentOS7下的Redis集群教程,包括: 单机安装Redis Redis主从 Redis分片集群 1.单机安装Redis首先需要安装Redis所需要的依赖: 1yum install -y gcc tcl 随后去redis的官网下载redis的安装包,将其放入虚拟机的任意目录 例如,我放到了/tmp目录: 解压缩: 1tar -xvf redis-6.2.4.tar.gz 解压后: 进入redis目录: 1cd redis-6.2.4 运行编译命令: 1make && make install 如果没有出错,应该就安装成功了。 然后修改redis.conf文件中的一些配置: 1234# 绑定地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问bind 0.0.0.0# 数据库数量,设置为1databases 1 启动Redis: 1redis-server redis.conf 停止redis服务: 1redis-cli shutdown 2.Redis主从集群...
设计模式
1、设计模式的概念1.1 产生背景“设计模式“最初并不是出现在软件设计中,而是在建筑领域的设计中 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在此书中收录了 23 个设计模式,这是设计模式领域里程碑的事件,导致了软件设计模式的突破。这 4 位作者在软件开发领域里也以他们的“四人组”(Gang of Four,GoF)著称。 1.2 概念软件设计模式(Design pattern),又称设计模式,是一套被反...
RESTful风格开发防SQL注入
在Spring Boot开发的RESTful风格后端项目中,SQL注入仍然是一个潜在的安全风险,尤其是当未正确处理用户输入时。以下是有关SQL注入如何发生及其防范措施的详细说明。 SQL注入概述SQL注入攻击是指攻击者通过在应用程序中输入恶意的SQL代码来操控数据库查询,从而获取、修改、删除数据,或执行其他恶意操作。通常发生在应用程序直接使用用户输入来构建SQL查询时。 SQL注入示例假设我们有一个简单的RESTful API来获取用户信息,URL为/users?id=1,处理这个请求的代码如下: 12345678910111213@RestControllerpublic class UserController { @Autowired private JdbcTemplate jdbcTemplate; @GetMapping("/users") public List<Map<String, Object>> getUser(@RequestParam String id) { String sql = "SE...
Spring5
1. Spring1.1 简介 Spring:春天 2002,首次推出了Spring的出行:interface21框架! Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,雨2004 年3月24日,发布了1.0正式版 Rod Johnson,SpringFarmework创始人 spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架! SSH:Struct2 + Spring + Hibernate (Spring没出来以前) SSM:SpringMvc + Spring + Mybatis 官网: https://spring.io/projects/spring-framework#overview GitHub:https://github.com/spring-projects/spring-framework 123456<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->&l...
Vue3
认识Vue31. Vue2 选项式 API vs Vue3 组合式API1234567891011121314<script>export default { data(){ return { count:0 } }, methods:{ addCount(){ this.count++ } }}</script> 12345<script setup>import { ref } from 'vue'const count = ref(0)const addCount = ()=> count.value++</script> 特点: 代码量变少 分散式维护变成集中式维护 2. Vue3的优势 使用create-vue搭建Vue3项目1. 认识create-vue create-vue是Vue官方新的脚手架工具,底层切换到了 vite (下一代前端工具链),为开发提供极速响应 2. 使用create-vue创建项目 前置条件 - 已安装16.0或更高版本的Nod...
SpringCloud
认识微服务服务架构演变单体架构单体架构:将业务中的所有功能集合在一个项目中开发,打包成一个包部署 优点: 架构简单 部署成本低 缺点: 耦合度高 分布式架构分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务 优点: 降低服务耦合度 有利于服务升级扩展 缺点: 服务调用关系错综复杂 分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考: 服务拆分的粒度如何界定? 服务之间如何调用? 服务的调用关系如何管理? 服务之间的健康状态如何感知? 微服务微服务:是一种经过良好架构设计的分布式架构方案,微服务架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责 自治:团队独立、技术独立、数据独立,独立部署和交付 面向服务:服务提供统一标准的接口,与语言和技术无关 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题 微服务的上述特性其实是在给分布式架构制定一个标准,进一步降低服务之间的耦合度,提供服务的独立性和灵活性。做到高内聚,低耦合。 因此,可以认为微服务是一种经过良好架构设计的...









