- 博客(81)
- 资源 (10)
- 收藏
- 关注
原创 Docker中如何优化Java性能
Java 中,我们可以使用 JVM 参数在 docker 中获得最佳性能。常用办法:设置访问内存参数设置垃圾收集器设置最小和最大堆空闲比率访问内存参数为了获得良好的内存性能,我们可以通过在运行 Java 应用程序时将自定义值传递给某些标志来覆盖 JVM 内存参数的默认值:-Xms:-Xms 标志的值确定 Java 堆的初始值或最小值。它可用于应用程序需要比 JVM 的默认最小值更多的内存的情况。-Xmx:与 -Xms 类似,-Xmx 标志可用于设置 Java 应用程序的堆空间最大值。当我
2022-05-23 10:13:09
1196
原创 Kubernetes-K8S学习笔记之Service(四)
四. Service介绍1. 基本感念service 是一组具有相同 label pod 集合的抽象,集群内外的各个服务可以通过 service 进行互相通信,当创建一个 service 对象时也会对应创建一个 endpoint 对象,endpoint 是用来做容器发现的,service 只是将多个 pod 进行关联,实际的路由转发都是由 kubernetes 中的 kube-proxy 组件来实现,因此,service 必须结合 kube-proxy 使用,kube-proxy 组件可以运行在 kub
2021-09-29 17:21:00
252
原创 Kubernetes-K8S学习笔记之部署搭建
部署搭建1. 单master集群2. 多master集群3. 服务器硬件要求测试环境建议节点CPU内存硬盘master2核4G40G+node4核8G80G+生产环境建议节点CPU内存硬盘master8核16G100G+node16核64G500G+4. kubeadm 方式部署单master集群4.1 准备环境角色IPmaster172.27.51.169node
2021-09-10 10:19:39
198
原创 Kubernetes-K8S学习笔记之Pod(二)
二. Pod介绍1. 基本感念在Kubernetes中,Pod是调度的最小元素,它有网络,有存储。一个Pod封装一个或多个应用容器、存储资源、一个独立的网络IP以及管理控制容器运行方式的策略选项。Pod中的每个容器共享网络命名空间(包括IP与端口),Pod内的容器可以使用localhost相互通信。Pod可以指定一组共享存储卷Volumes,Pod中所有容器都可以访问共享的Volumes,Volumes用于数据持久化,防止容器重启丢失数据。单容器Pod,最常见的应用方式。多容器Pod,Kuber
2021-09-08 16:50:45
652
原创 Kubernetes-K8S学习笔记之架构介绍(一)
一. Kubernetes架构介绍整个K8S架构主要分为两大部分:1.master部分。2.node节点部分。1. masterapi server:所有服务的请求、访问等通信的入口,内容都需要交给api serverscheduler: 对工作节点分配任务的作用,scheduler并不是直接将任务交给节点而是将任务发送给api server,再由api server将任务交给键值对数据库ETCD,之后节点接收任务进行工作.replication controller(控制器):其作用是维护设
2021-09-08 10:52:31
96
原创 一篇文章搞懂RocketMQ
文章目录一. 概念和特性基本概念1. 消息模型(Message Model)2. 消息生产者(Producer)3. 消息消费者(Consumer)4. 主题(Topic)5. 代理服务器(Broker Server)6. 名字服务(Name Server)7. 拉取式消费(Pull Consumer)8. 推动式消费(Push Consumer)9. 生产者组(Producer Group)10. 消费者组(Consumer Group)11.集群消费(Clustering)12. 广播消费(Broadc
2021-07-13 08:55:07
637
转载 大数据架构方案 - Flink+Iceberg实时数据湖
导读:Apache Flink是大数据领域非常流行的流批统一的计算引擎,数据湖是顺应云时代发展潮流的新型技术架构。那么,当Apache Flink遇见数据湖时,会碰撞出什么样的火花呢?本次分享主要包括以下核心内容: 数据湖的相关背景介绍 经典业务场景介绍 为什么选择 Apache Iceberg 如何通过 Flink+Iceberg 实现流式入湖 社区未来规划工作 一、数据湖的相关背景介绍数据湖是个什么概念呢?一般来说我们把一家企业产生的数据都..
2020-12-04 09:58:18
2115
原创 日志收集方案filebit+logstash+es
日志系统场景一般常见我们需要进行日志分析场景是:直接在日志文件中grep、awk就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。 大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中
2020-12-02 10:12:25
3617
原创 docker安装配置nexus3
一. nexus安装部署1. docker搜索nexus镜像docker search nexus2. 查询nexus镜像版本打开docker镜像仓库,并搜索nexus找到搜索到的对应镜像,并点击tags3. 拉取nexus镜像docker pull sonatype/nexus3:latest4. 并编写docker-compose.yamlversion: '3'services: nexus3: restart: always .
2020-09-11 15:46:13
1778
2
原创 centos安装CDH6.3
一. CentOS更改yum源与更新系统yum install -y wgetmv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupcd /etc/yum.repos.d/wget http://mirrors.163.com/.help/CentOS6-Base-163.repoyum makecacheyum -y update二. 集群规划虚拟主机名 IP c
2020-06-18 12:22:05
1215
1
原创 git分支管理规范
分支种类主分支(master)开发分支(develop)功能分支(feature)修复分支(hotfix)预发布分支(release)分支描述Master:主分支,创建 Repository 时默认会生成一个 master 分支。通常情况下 master 分支是受保护的(Protected)。master 分支保存的是稳定的已发布到线上的代码,会使用 tag 来记录发布的版本(tag命名为:tag + “-” + “版本号”)。master 分支是不允许提交代码的,只能将代码..
2020-05-21 17:42:49
2176
原创 docker安装elasticsearch
一. 搜索elasticsearch镜像docker search elasticsearch二. 拉取elasticsearch镜像docker pull elasticsearch:6.6.0三. 编写docker-compose.yaml文件version: '3'services: elasticsearch: restart: always ...
2020-04-23 12:54:48
394
原创 docker部署logstash
一. 拉取logstash镜像docker pull logstash:6.7.0二. 编写docker-compose.yaml文件version: '3'services: logstash: restart: always image: logstash:6.7.0 deploy: replicas: 1 update_c...
2020-04-22 16:35:59
3769
原创 seata docker部署
一. docker拉取seata-server镜像docker pull seataio/seata-server:1.1.0二. docker run方式启动docker run --name seata-server -it -d -p 8091:8091 \-e SEATA_CONFIG_NAME=file:/root/seata/config/registry \...
2020-04-21 12:46:14
5127
原创 canal实现Elasticsearch数据同步
一.canal介绍转存失败重新上传取消转存失败重新上传取消canal 主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费基于日志增量订阅和消费的业务包括数据库镜像 数据库实时备份 索引构建和实时维护(拆分异构索引、倒排索引等) 业务 cache 刷新 带业务逻辑的增量数据处理当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x...
2020-04-16 17:40:49
3048
转载 jdk8垃圾收集器
垃圾收集器是垃圾回收算法(标记-清除算法、复制算法、标记-整理算法)的具体实现,不同商家、不同版本的JVM所提供的垃圾收集器可能会有很在差别.1. 图中展示了7种不同分代的收集器: Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1;2. 而它们所处区域,则表明其是属于新生代收集器还是老...
2020-04-02 16:28:42
4016
转载 jdk1.8——jvm分析与调优
一.JVM空间说明 JDK 1.7及以前,Java 类信息、常量池、静态变量都存储在 Perm(永久代)里。类的元数据和静态变量在类加载的时候分配到 Perm,当类被卸载的时候垃圾收集器从 Perm 处理掉。 JDK 1.8 的对 JVM 架构的改造将类元数据放到本地内存中,另外,将常量池和静态变量放到 Java 堆里。HotSopt VM 将会为类的元数据明确分配和释放本地内存。...
2020-04-02 12:46:59
1109
原创 Hadoop 3.1 集群部署
一. 准备环境 1. 三台物理服务器: 192.168.2.222(master), 192.168.2.223(slave1), 192.168.2.224(slave2) 2. linux系统:debian9 3. jdk版本:1.8 4. hadoop版本:3.1+二. SSH免密登录配置slave与master之间需要进行免密登录,首先对master进行...
2019-09-10 15:30:52
510
原创 debian9 安装mongodb(tar文件安装)
一. tar 文件安装1. mongodb 下载 tar文件下载 地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian92-4.0.10.tgz mongodb官网地址:https://www.mongodb.com/download-center/community2. 解压tar文件t...
2019-06-24 12:32:19
962
原创 Hadoop 3.X 安装
第一步 准备环境 准备安装环境。jdk1.8,hadoop3.X版 , apt安装ssh , apt安装pdsh第二步 安装jdk 1. 解压jdk 2. 执行命令:update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_201/bin/jav...
2019-06-12 18:07:00
663
转载 Java面试题
一、Java 基础1.JDK 和 JRE 有什么区别?2. == 和 equals 的区别是什么?3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4. final 在 java 中有什么作用?5. java 中的 Math.round(-1.5) 等于多少?6. String 属于基础的数据类型吗?7. java 中操作字符串都有哪些类?它们...
2019-05-21 11:27:00
114
1
原创 Hadoop,Hbase 环境配置
Hadoop配置修改:hadoop-env.sh 文件: export JAVA_HOME=/usr/local/jdk1.8.0_181core-site.xml 文件: <configuration> <property> <name>fs.defaultFS</name> ...
2018-10-17 15:08:40
476
转载 Debian ls 文件 文件夹颜色显示
一、让debian终端文件显示不同颜色vim /etc/vim/vimrc取消“syntax on”的注释二、让debian终端文件夹显示不同颜色修改.bashrc文件,vim /root/.bashrc修改如下:#export LS_OPTIONS='--color=auto'#eval `dircolors`#alias ls='ls $LS_OPTIONS'#...
2018-09-27 10:16:45
3143
转载 spring cloud实现 rocketmq可靠一致性
1.前言1.1 目的为开发测试提供指导性文件 为系统今后的扩展提供参考 解决系统中消息不可达问题1.2 范围和功能1.3 适用读者需要发送MQ分布式系统的开发人员和测试人员 可靠消息服务的开发人员和测试人员1.4 读者须知本服务需要提供一个sdk和数据库初始语句创建数据库表,并且对外提供可扫描的domain、mapper、service,使用的技术框架zk + map...
2018-09-06 14:46:01
1223
原创 Debian 下配置固定ip
vim /etc/network/interfaces# This file describes the network interfaces available on your system# # # and how to activate them. For more information, see interfaces(5).# #source /etc/network/i...
2018-08-20 11:09:07
2676
原创 docker mysql 主主配置
1:准备两个虚拟机1)192.168.0.212 mysqlA2)192.168.0.166 mysqlB2:启动docker中的mysql docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.5 --character-set-server=utf8mb4 --collation-server=...
2018-06-29 14:49:03
859
转载 使用canal进行mysql数据同步到Redis
业务场景描述在我们的项目中有些配置信息持久化在数据库中,这些配置信息又是在系统启动后自动加载并缓存在local或者Redis中,但如果后台运营系统进行了相应更新配置操作,我们需要实现“热部署”或“热插拔”等功能的话,我们有哪些方案可以实现呢?单机项目就非常简单了,但分布式集群的项目怎么办呢?分布式集群的项目之间同步数据,我们来讲一下有哪些方案解决。方案一:项目程序中对DB进行操作后,留一个后门接口...
2018-03-13 15:02:26
600
转载 深入理解Mysql——锁、事务与并发控制
mysql服务器逻辑架构每个连接都会在mysql服务端产生一个线程(内部通过线程池管理线程),比如一个select语句进入,mysql首先会在查询缓存中查找是否缓存了这个select的结果集,如果没有则继续执行 解析、优化、执行的过程;否则会之间从缓存中获取结果集。mysql并发控制——共享锁、排他锁共享锁共享锁也称为读锁,读锁允许多个连接可以同一时刻并发的读取同一资源,互不干扰;排他锁排他锁也称...
2018-03-12 14:14:51
311
转载 Java多线程引发的性能问题以及调优策略
无限制创建线程Web服务器中,在正常负载情况下,为每个任务分配一个线程,能够提升串行执行条件下的性能。只要请求的到达率不超出服务器的请求处理能力,那么这种方法可以同时带来更快的响应性和更高的吞吐率。如果请求的到达速率非常高,且请求的处理过程是轻量级的,那么为每个请求创建一个新线程将消耗大量的计算资源。引发的问题线程的生命周期开销非常高消耗过多的CPU资源如果可运行的线程数量多于可用处理器的数量,那...
2018-03-12 11:53:18
702
转载 2018年最全Java面试通关秘籍汇总集!
一、基础篇1.1、Java基础 面向对象的特征:继承、封装和多态final, finally, finalize 的区别Exception、Error、运行时异常与一般异常有何异同请写出5种常见到的runtime exceptionint 和 Integer 有什么区别,Integer的值缓存范围包装类,装箱和拆箱String、StringBuilder、StringBuffer重载和重写的区别抽...
2018-03-06 11:34:18
1451
转载 前后端分离利器之JWT
一、HTTP的无状态性HTTP 是无状态协议,它不对之前发送过的请求和响应的状态进行管理。也就是说,无法根据之前的状态进行本次的请求处理。假设要求登录认证的 Web 页面本身无法进行状态的管理(不记录已登录的状态),那么每次跳转新页面不是要再次登录,就是要在每次请求报文中附加参数来管理登录状态。不可否认,无状态协议当然也有它的优点。由于不必保存状态,自然可减少服务器的 CPU 及内存资源的消耗。从...
2018-03-06 10:58:09
1272
转载 大型网站架构之架构模式
网站架构模式的目标:面临高并发访问,海量数据处理,高可靠运行等问题和挑战,我们在实践中提出很多解决方案,主要为了实现网站的高性能、高可用、易伸缩、可扩展、安全等架构目标。网站架构模式具体方案如下:1、分层分层是一种常见的架构模式,将系统在横向维度上切分为几个部分,每个部分负责单一的职责,然后通过上层对下层的依赖和调用完成整个系统工作。一般大型网站系统都分为下面3层:应用层:负责具体业务和视图展示;...
2018-03-06 09:35:33
216
转载 Java虚拟机(JVM)体系结构概述及各种性能参数优化总结
第一部分:相关的概念数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,
2018-01-22 14:11:37
177
转载 Nginx 服务器 之Nginx与tomcat实现负载均衡
本文讲解我们如何使用Nginx做反向带服务器,实现nginx与tomcat服务器集群做负载均衡。一、nginx与tomcat实现负载均衡1、在/usr/local/ngnix/conf 创建文件 nginx-tomcat.conf文件内容:user nobody;worker_processes 2;events { worker_connections 1024;
2018-01-18 14:56:54
368
转载 浅谈web网站架构演变过程(详细版)
阶段一、单机构建网站网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate、maven+spring+springmvc+mybatis;最后再选择一个数据库管理系统来存储数据,如mysql、sq
2018-01-17 13:33:07
309
转载 大型网站架构之分布式消息队列
大型网站架构之分布式消息队列 以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能
2018-01-17 11:43:16
192
转载 redis缓存和mysql数据库同步
解决方案一、对强一致要求比较高的,应采用实时同步方案,即查询缓存查询不到再从DB查询,保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期(建议不要去更新缓存内容,直接设置缓存过期)。二、对于并发程度较高的,可采用异步队列的方式同步,可采用kafka等消息中间件处理消息生产和消费。三、使用阿里的同步工具canal,canal实现方式是模拟mysql slave和mast
2017-12-19 11:58:45
998
转载 Elasticsearch 优化实施方法
1.尽量运行在Sun/Oracle JDK1.7以上环境中,低版本的jdk容易出现莫名的bug,ES性能体现在在分布式计算中,一个节点是不足以测试出其性能,一个生产系统至少在三个节点以上。2.ES集群节点规划良好,master、node、client分离开来,data节点关闭http功能。3.合理利用内存。JVM内存设置不要超过机器的一半内存,并且不超过32G(一般分配主机1/4-
2017-11-24 14:11:46
269
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人