- 博客(36)
- 收藏
- 关注
原创 Go 语言结构
Go Hello World 实例Go 语言的基础组成有以下几个部分:包声明 引入包 函数 变量 语句 & 表达式 注释package mainimport "fmt"func main() { /* 这是我的第一个简单的程序 */ fmt.Println("Hello, World!")} 第一行代码package main定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表..
2021-02-05 09:34:09
183
原创 docker 相关操作(手迹)
1.杀死所有的容器(包含正在运行的和未运行的)docker kill ${docker ps -a -q}2.删除所有的容器(包含正在运行的和未运行的)docker rm ${docker ps -a -q}3.强制删除所有的容器(包含正在运行的和未运行的)docker rm -f ${docker ps -a -q}4.删除所有的容器(包含正在运行的和未运行的)docker rmi ${docker ps -a -q}5.强制删除所有的容器(包含正在运行的和未运行的
2021-01-27 14:37:14
154
原创 Hyperledger fabric 介绍
文档来源:https://www.hyperledger.org/wp-content/uploads/2020/03/hyperledger_fabric_whitepaper.pdf本文翻译上述文档的内容,让大家多Hyperledger Fabric有一个初步的认识1.开放,成熟, 企业级DLT(Distributed Ledger Technology)Hyperledger Fabric是一种企业级分布式分类帐平台,可为广泛的行业用例提供模块化和多功能性。 Hyperledger Fab
2021-01-19 20:36:47
512
原创 Go 语言环境安装
Go 语言环境安装Go 语言支持以下系统:Linux FreeBSD Mac OS X(也称为 Darwin) Windows各个系统对应的包名:操作系统 包名 Windows go1.4.windows-amd64.msi Linux go1.4.linux-amd64.tar.gz Mac go1.4.darwin-amd64-osx10.8.pkg FreeBSD go1.4.freebsd-amd64.tar.gz Wi.
2021-01-17 16:11:14
119
原创 go语言入门
Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具Python等动态语言的开发速度和 C/C++等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计...
2021-01-10 16:26:23
138
原创 Kafka 的数据丢失和重复消费
1/ 生产端 Producer消息格式:每个消息是一个 ProducerRecord 对象,必须指定消息所属的 Topic 和消息值 Value ,此外还可以指定消息所属的 Partition 以及消息的 Key。Producer 生产数据默认是先写到内存(PageCache)中的,定期 flush 到磁盘上。默认的这个参数是:设置较小定期 flush 的时间,并不能真正保证数据不会丢失。通过查看官方提供的默认配置 Long.MaxValue 也可以看出,官方是不建...
2021-01-04 19:04:40
381
原创 Kafka 消息重复消费问题学习
Kafka 消息重复消费原因Kafka 消息重复消费原因kafka每个消息写进去,都有一个offset,代表他的序号。然后consumer消费了数据之后,每隔一段时间,会把自己消费过的消息的offset提交一下提交到zookeeper,代表我已经消费过了,下次要是重启,你就让我继续从上次消费到的offset来继续消费吧。如果因为一些死机等原因, 导致consumer有些消息处理了,但是没来得及提交offset。重启之后,这些未提交的offset的消息会再消费一次。如何避免?.
2020-12-26 15:49:29
650
原创 kafka常见问题(3)
作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强,而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可以做运营数据的分析统计,而redis的主要场景是内存数据库,作为消息队列来说可靠性太差,而且速度太依赖网络IO,在服务器本机上的速度较快,且容易出现数据堆积的问题,在比较轻量的场合下能够适用。RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息.
2020-12-20 22:23:47
107
原创 kafka常见问题(2)
11、LEO、LSO、AR、ISR、HW 都表示什么含义?LEO:Log End Offset。日志末端位移值或末端偏移量,表示日志下一条待插入消息的 位移值。举个例子,如果日志有 10 条消息,位移值从 0 开始,那么,第 10 条消息的位 移值就是 9。此时,LEO = 10。 LSO:Log Stable Offset。这是 Kafka 事务的概念。如果你没有使用到事务,那么这个 值不存在(其实也不是不存在,只是设置成一个无意义的值)。该值控制了事务型消费 者能够看到的消息范围。它经常与 Log
2020-12-13 23:20:49
492
1
原创 kafka常见面试问题(1)
问题1:什么是Apache Kafka?答:Apache Kafka是一个发布 - 订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编码的。基本上,这个项目是由Apache软件启动的。Kafka的设计模式主要基于事务日志设计。问题2:Kafka中有哪几个组件?答:Kafka最重要的元素是:主题:Kafka主题是一堆或一组消息。生产者:在Kafka,生产者发布通信以及向Kafka主题发布消息。消费者:Kafka消费者订阅了一个主题,并且还从主题中读取和处理消息。..
2020-12-06 20:18:46
266
1
原创 kafka基础学习(多线程复习)
1.继承Thread类package a;public class ExtendsThread extends Thread{ public static void main(String[] args){ new ExtendsThread().printNumber(); } @Override public void run(){ this.printNumber(); } public void prin
2020-11-29 17:41:37
125
原创 kafka代码学习
1.kafka的配置信息#kafka配置信息#生产者的地址信息spring.kafka.producer.bootstrap-servers=******:9092#消费者的地址信息spring.kafka.consumer.bootstrap-servers=******:90922.kafka代码开发package com.example.kafka.controller;import lombok.extern.slf4j.Slf4j;import org.apache.
2020-11-22 23:35:19
121
原创 kafka搭建
JDK已经安装好准备安装包将安装包解压查看安装包创建一个数据目录配置环境变量编辑文件添加内容配置生效启动之前要先启动zookeeper服务器,zookeeper是为kafka提高协调服务的工具。kafka已经内置了一个zookeeper服务器以及一些启动脚本编辑配置文件zookeeper.properties配置内容dataDir=/usr/local/kafka_2.12-1.0.0/data/cli...
2020-11-12 20:16:50
169
原创 kafka分片
1.kafka中topic的概念在kafka中,topic只是存储消息的一个逻辑的概念,他并没有实际的文件存在磁盘上,可以认为是某一类型的消息的集合。所有发送到kafka上的消息都一个类型,这个类型就是他的topic。在物理上来说,不同的topic的消息是分开存储的。同时,一个topic可以有多个producer和多个consumer。2.kafka中partition的概念每个topic下面可以有多个分区,每一个topic至少会有一个partition,相同的topic下面,不同的partit
2020-11-07 17:10:42
5423
原创 kafka代码学习
1.启动kafka。//启动zookeeper server (用&是为了能退出命令行):bin/zookeeper-server-start.sh config/zookeeper.properties&//启动kafka server:bin/kafka-server-start.sh config/server.properties&2.新建一个生产者例子import java.util.Properties;import kafka...
2020-11-02 09:57:28
194
原创 kafka基础知识(二)
kafka 提供了两套 consumer API:1. The high-level Consumer API2. The SimpleConsumer API其中 high-level consumer API 提供了一个从 kafka 消费数据的高层抽象,而 SimpleConsumer API 则需要开发人员更多地关注细节。1.1The high-level consumer APIhigh-level consumer API 提供了 consumer group 的语义,一..
2020-10-25 18:18:22
256
原创 kafka基础知识介绍
1、简介 Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zook...
2020-10-15 22:16:27
246
原创 Java版Kafka使用及配置解释
Java版Kafka使用及配置解释一.Java示例kafka是吞吐量巨大的一个消息系统,它是用scala写的,和普通的消息的生产消费还有所不同,写了个demo程序供大家参考。kafka的安装请参考官方文档。引入Maven库首先我们需要新建一个maven项目,然后在pom中引用kafka jar包,引用依赖如下: <dependency> <groupId>org.apache.kafka</groupId> &l
2020-10-11 21:06:15
4865
原创 java多线程入门版 四
一、什么是多线程?引用网上别人的一段话:单进程单线程:一个人在一个桌子上吃菜。 单进程多线程:多个人在同一个桌子上一起吃菜。 多进程单线程:多个人每个人在自己的桌子上吃菜。多线程的问题是多个人同时吃一道菜的时候容易发生争抢,例如两个人同时夹一个菜,一个人刚伸出筷子,结果伸到的时候已经被夹走菜了。资源共享就会发生冲突争抢。使用多线程的优点(相对使用多进程来说):进程之间不能共享内存,但线程之间共享内存非常容易。 系统创建线程所分配的资源相对创建进程而言,代价非常小。二、Java中
2020-09-26 22:14:00
129
原创 java多线程入门版 三
在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的,他们会问面试者很多令人混淆的Java线程问题,面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面,用于直接面向市场交易的高容量和低延时的电子交易系统在本质上是并发的。下面这些是我在不同时间不同地点喜欢问的Java线程问题,我没有提供答案,但只要可
2020-09-20 20:21:09
104
原创 java多线程入门版 二
一.Java多线程的阻塞状态与线程控制上文已经提到Java阻塞的几种具体类型。下面分别看下引起Java线程阻塞的主要方法。1.join()join —— 让一个线程等待另一个线程完成才继续执行。如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行。public class ThreadTest { public static void main(String[] args) { MyRunnable myRu
2020-09-12 10:20:49
138
原创 java多线程入门版 一
一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是
2020-09-06 09:59:19
170
原创 ElasticSearch那些事儿(九)
学习ElasticSearch目前为止,踩过以下几个坑:集群搭建不成功 未使用内网IP,导致恢复缓慢 未使用队列及logstash,导致数据丢失 Master和DataNode未分离,导致集群不稳定 Logstash吞吐量问题 Logstash如何创建Mapping head插件安装错误犯了这么多错误基本上都是使用不当、以偏概全的原因,以为看了一点文档,就凭直觉可以猜测到系统的所有内容,造成了后续问题的不断涌现,下面就逐一说一下淌坑过程集群搭建不成功一开始是在单机上玩Elastic
2020-08-29 15:05:48
218
原创 ElasticSearch那些事儿(八)
容错一 2个node环境下replica shard是如何分配的(1)replica shard分配:3个primary shard,3个replica shard,1 node(2)primary ---> replica同步(3)读请求:primary/replica二 横向扩容过程,如何超出扩容极限,以及如何提升容错性(1)primary&replica自动负载均衡,6个shard,3 primary,3 replica(2)每个node有更少的shard,I
2020-08-22 18:07:50
125
原创 ElasticSearch那些事儿(七)
映射Mapping用于描述数据的每个字段如何存储。ES自动生成一个_all字段,其类型为字符串,属于全文字段。ES会根据文档内容进行猜测,动态产生一个映射。简单类型Elasticsearch 支持 如下简单域类型:字符串:string 整数:byte, short, integer, long 浮点数:float, double 布尔型:boolean 日期:date当你索引一个包含新字段的文档时,ES自动进行动态映射。JSON类型到上述类型的转换比较直白,除了要注意2018-04
2020-08-13 20:35:12
229
原创 ElasticSearch那些事儿(六)
1.curl192.168.106.58:9200/_cat/health?v 集群健康查看epoch timestamp cluster status node.total node.data shards pri relo init unassign1400639131 10:25:31 elasticsearch green 1 1 18 18 0 0 02. curl 192.168.10...
2020-08-09 23:41:12
155
原创 ElasticSearch那些事儿(四)
在使用过程中,陆陆续续踩了不少坑,每次觉得无法逾越时,心里都想放弃,一是因为这东西要完全掌握不是那么容易,需要花很多时间;二是如果继续使用曾经用过的zabbix,说不定可以很快满足眼前的需求,从而可以抽身做其他事情。但坚持下来,就一定能从坑里爬起来,从而对这个系统更加了解,并利用这头”猛兽”帮助我做更多事情。原因很简单,ElasticSearch除了是一个分布式数据库,还是一个扩展性和可用性都很强的近实时搜索引擎。目前为止,踩过以下几个坑:集群搭建不成功 未使用内网IP,导致恢复缓慢 未使用队列
2020-07-26 17:27:40
193
原创 ElasticSearch那些事儿(一)
开源的Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。最近在工作上使用到了Elasticsearch全文搜索引擎,打算系统学习一下,出一个系列相关的文章,欢迎大家一起讨论。一、简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful Web接口。同时Elasticsearch是用Java开发的
2020-07-05 17:16:48
455
原创 配置fabric(超级记账本)时docker-compose安装教程
1、Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。在安装Docker-Compose之前,需要安装Python-pip,运行脚本:sudo apt-get install python-pip2、然后是安装docker-compose,我们从官方网站(https://github.com/docker/compose/releases)下载也可以从国内...
2019-12-03 11:18:12
649
原创 1、Hyperledger 超级账本项目介绍
现在Hyperledger(超级账本)旗下的项目如下图中的列表所示,做个详细的总价吧! 名称 内容 Hyperledger Fabric 现在网上大部分的都有实现Fabric的博客,可以自己查阅资料进行学习 Hyperledger Explorer 用来对区块链进行配置管理、区...
2019-05-21 15:43:16
397
原创 配置fabric(超级记账本)时docker安装教程
开始安装由于apt官方库里的docker版本可能比较旧,所以先卸载系统中可能出现的旧版本:$ sudo apt-get remove docker docker-engine docker-ce docker.io更新apt包索引:$ sudo apt-get update安装以下包以使apt可以通过HTTPS使用存储库(repository):$ sudo apt-get...
2018-03-27 10:02:32
2739
原创 CART算法实例解析
CART算法的原理,网上一抓一大把,在这里我就不过多赘述,现在我直接用一个实例进行讲解,CATR算法在分裂时是如何计算的 注:CART算法一般适用于二分类,构建二叉树 1、数据集D: 年龄 有工作 有自己的房子 信贷情况 类别 青年 否 否 一般 否 青年 否
2017-11-06 21:36:15
6893
原创 欢迎使用markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-11-06 21:19:59
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人