<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Computer_hello的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Computer_hello</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Computer_hello]]></copyright><item><title><![CDATA[Go 语言结构]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/113677568</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/113677568</guid><author>Computer_hello</author><pubDate>Fri, 05 Feb 2021 09:34:09 +0800</pubDate><description><![CDATA[Go Hello World 实例

Go 语言的基础组成有以下几个部分：

包声明
	引入包
	函数
	变量
	语句 &amp; 表达式
	注释

package main

import "fmt"

func main() {
   /* 这是我的第一个简单的程序 */
   fmt.Println("Hello, World!")
}


	第一行代码package main定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包，如：package main。package main表..]]></description><category></category></item><item><title><![CDATA[docker 相关操作(手迹)]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/113088045</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/113088045</guid><author>Computer_hello</author><pubDate>Wed, 27 Jan 2021 14:37:14 +0800</pubDate><description><![CDATA[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.强制删除所有的容器（包含正在运行的和未运行的]]></description><category></category></item><item><title><![CDATA[Hyperledger fabric 介绍]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/112787529</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/112787529</guid><author>Computer_hello</author><pubDate>Tue, 19 Jan 2021 20:36:47 +0800</pubDate><description><![CDATA[文档来源：https://www.hyperledger.org/wp-content/uploads/2020/03/hyperledger_fabric_whitepaper.pdf

本文翻译上述文档的内容，让大家多Hyperledger Fabric有一个初步的认识

1.开放，成熟， 企业级DLT（Distributed Ledger Technology）

Hyperledger Fabric是一种企业级分布式分类帐平台，可为广泛的行业用例提供模块化和多功能性。 Hyperledger Fab]]></description><category></category></item><item><title><![CDATA[Go 语言环境安装]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/112749978</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/112749978</guid><author>Computer_hello</author><pubDate>Sun, 17 Jan 2021 16:11:14 +0800</pubDate><description><![CDATA[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.]]></description><category></category></item><item><title><![CDATA[go语言入门]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/112431691</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/112431691</guid><author>Computer_hello</author><pubDate>Sun, 10 Jan 2021 16:26:23 +0800</pubDate><description><![CDATA[Go语言（或 Golang）起源于 2007 年，并在 2009 年正式对外发布。Go 是非常年轻的一门语言，它的主要目标是“兼具Python等动态语言的开发速度和 C/C++等编译型语言的性能与安全性”。
Go语言是编程语言设计的又一次尝试，是对类C语言的重大改进，它不但能让你访问底层操作系统，还提供了强大的网络编程和并发编程支持。Go语言的用途众多，可以进行网络编程、系统编程、并发编程、分布式编程。
Go语言的推出，旨在不损失应用程序性能的情况下降低代码的复杂性，具有“部署简单、并发性好、语言设计...]]></description><category></category></item><item><title><![CDATA[Kafka 的数据丢失和重复消费]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/112195209</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/112195209</guid><author>Computer_hello</author><pubDate>Mon, 04 Jan 2021 19:04:40 +0800</pubDate><description><![CDATA[1/ 生产端 Producer



消息格式：每个消息是一个 ProducerRecord 对象，必须指定消息所属的 Topic 和消息值 Value ，此外还可以指定消息所属的 Partition 以及消息的 Key。Producer 生产数据默认是先写到内存（PageCache）中的,定期 flush 到磁盘上。默认的这个参数是：











设置较小定期 flush 的时间，并不能真正保证数据不会丢失。通过查看官方提供的默认配置 Long.MaxValue 也可以看出，官方是不建...]]></description><category></category></item><item><title><![CDATA[Kafka 消息重复消费问题学习]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/111750745</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/111750745</guid><author>Computer_hello</author><pubDate>Sat, 26 Dec 2020 15:49:29 +0800</pubDate><description><![CDATA[Kafka 消息重复消费原因

Kafka 消息重复消费原因

kafka每个消息写进去，都有一个offset，代表他的序号。

然后consumer消费了数据之后，每隔一段时间，会把自己消费过的消息的offset提交一下提交到zookeeper，

代表我已经消费过了，下次要是重启，你就让我继续从上次消费到的offset来继续消费吧。



如果因为一些死机等原因， 导致consumer有些消息处理了，但是没来得及提交offset。重启之后，这些未提交的offset的消息会再消费一次。



如何避免？.]]></description><category></category></item><item><title><![CDATA[kafka常见问题（3）]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/111464050</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/111464050</guid><author>Computer_hello</author><pubDate>Sun, 20 Dec 2020 22:23:47 +0800</pubDate><description><![CDATA[作为消息队列来说，企业中选择mq的还是多数，因为像Rabbit，Rocket等mq中间件都属于很成熟的产品，性能一般但可靠性较强，

而kafka原本设计的初衷是日志统计分析，现在基于大数据的背景下也可以做运营数据的分析统计，而redis的主要场景是内存数据库，作为消息队列来说可靠性太差，而且速度太依赖网络IO，在服务器本机上的速度较快，且容易出现数据堆积的问题，在比较轻量的场合下能够适用。



RabbitMQ,遵循AMQP协议，由内在高并发的erlanng语言开发，用在实时的对可靠性要求比较高的消息.]]></description><category></category></item><item><title><![CDATA[kafka常见问题（2）]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/111147658</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/111147658</guid><author>Computer_hello</author><pubDate>Sun, 13 Dec 2020 23:20:49 +0800</pubDate><description><![CDATA[11、LEO、LSO、AR、ISR、HW 都表示什么含义?

LEO:Log End Offset。日志末端位移值或末端偏移量，表示日志下一条待插入消息的 位移值。举个例子，如果日志有 10 条消息，位移值从 0 开始，那么，第 10 条消息的位 移值就是 9。此时，LEO = 10。
	LSO:Log Stable Offset。这是 Kafka 事务的概念。如果你没有使用到事务，那么这个 值不存在(其实也不是不存在，只是设置成一个无意义的值)。该值控制了事务型消费 者能够看到的消息范围。它经常与 Log]]></description><category></category></item><item><title><![CDATA[kafka常见面试问题（1）]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/110757814</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/110757814</guid><author>Computer_hello</author><pubDate>Sun, 06 Dec 2020 20:18:46 +0800</pubDate><description><![CDATA[问题1：什么是Apache Kafka?

答：Apache Kafka是一个发布 - 订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编码的。基本上，这个项目是由Apache软件启动的。Kafka的设计模式主要基于事务日志设计。

问题2：Kafka中有哪几个组件?

答：Kafka最重要的元素是：







主题：Kafka主题是一堆或一组消息。生产者：在Kafka，生产者发布通信以及向Kafka主题发布消息。消费者：Kafka消费者订阅了一个主题，并且还从主题中读取和处理消息。..]]></description><category></category></item><item><title><![CDATA[kafka基础学习（多线程复习）]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/110339984</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/110339984</guid><author>Computer_hello</author><pubDate>Sun, 29 Nov 2020 17:41:37 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[kafka代码学习]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/109968632</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/109968632</guid><author>Computer_hello</author><pubDate>Sun, 22 Nov 2020 23:35:19 +0800</pubDate><description><![CDATA[1.kafka的配置信息


#kafka配置信息
#生产者的地址信息
spring.kafka.producer.bootstrap-servers=******:9092
#消费者的地址信息
spring.kafka.consumer.bootstrap-servers=******:9092

2.kafka代码开发


package com.example.kafka.controller;

import lombok.extern.slf4j.Slf4j;
import org.apache.]]></description><category></category></item><item><title><![CDATA[kafka搭建]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/109655448</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/109655448</guid><author>Computer_hello</author><pubDate>Thu, 12 Nov 2020 20:16:50 +0800</pubDate><description><![CDATA[JDK已经安装好



准备安装包



将安装包解压



查看安装包



创建一个数据目录



配置环境变量

编辑文件



添加内容



配置生效



启动之前要先启动zookeeper服务器，zookeeper是为kafka提高协调服务的工具。kafka已经内置了一个zookeeper服务器以及一些启动脚本

编辑配置文件zookeeper.properties



配置内容

dataDir=/usr/local/kafka_2.12-1.0.0/data/

cli...]]></description><category></category></item><item><title><![CDATA[kafka分片]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/109549542</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/109549542</guid><author>Computer_hello</author><pubDate>Sat, 07 Nov 2020 17:10:42 +0800</pubDate><description><![CDATA[1.kafka中topic的概念

在kafka中，topic只是存储消息的一个逻辑的概念，他并没有实际的文件存在磁盘上，可以认为是某一类型的消息的集合。所有发送到kafka上的消息都一个类型，这个类型就是他的topic。在物理上来说，不同的topic的消息是分开存储的。同时，一个topic可以有多个producer和多个consumer。

2.kafka中partition的概念

每个topic下面可以有多个分区，每一个topic至少会有一个partition，相同的topic下面，不同的partit]]></description><category></category></item><item><title><![CDATA[kafka代码学习]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/109442889</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/109442889</guid><author>Computer_hello</author><pubDate>Mon, 02 Nov 2020 09:57:28 +0800</pubDate><description><![CDATA[1.启动kafka。
//启动zookeeper server (用&amp;是为了能退出命令行)：


bin/zookeeper-server-start.sh config/zookeeper.properties&amp;


//启动kafka server:


bin/kafka-server-start.sh config/server.properties&amp;

2.新建一个生产者例子


import java.util.Properties;
import kafka...]]></description><category></category></item><item><title><![CDATA[kafka基础知识（二）]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/109276744</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/109276744</guid><author>Computer_hello</author><pubDate>Sun, 25 Oct 2020 18:18:22 +0800</pubDate><description><![CDATA[kafka 提供了两套 consumer API：


1. The high-level Consumer API
2. The SimpleConsumer API

其中 high-level consumer API 提供了一个从 kafka 消费数据的高层抽象，而 SimpleConsumer API 则需要开发人员更多地关注细节。

1.1The high-level consumer API

high-level consumer API 提供了 consumer group 的语义，一..]]></description><category></category></item><item><title><![CDATA[kafka基础知识介绍]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/109106674</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/109106674</guid><author>Computer_hello</author><pubDate>Thu, 15 Oct 2020 22:16:27 +0800</pubDate><description><![CDATA[1、简介

  Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性，但是在设计实现上完全不同，此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类，发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成，每个实例(server)成为broker。无论是kafka集群，还是producer和consumer都依赖于zook...]]></description><category></category></item><item><title><![CDATA[Java版Kafka使用及配置解释]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/109017118</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/109017118</guid><author>Computer_hello</author><pubDate>Sun, 11 Oct 2020 21:06:15 +0800</pubDate><description><![CDATA[Java版Kafka使用及配置解释

一.Java示例

kafka是吞吐量巨大的一个消息系统，它是用scala写的，和普通的消息的生产消费还有所不同，写了个demo程序供大家参考。kafka的安装请参考官方文档。

引入Maven库

首先我们需要新建一个maven项目，然后在pom中引用kafka jar包，引用依赖如下：


    &lt;dependency&gt;
        &lt;groupId&gt;org.apache.kafka&lt;/groupId&gt;
        &l]]></description><category></category></item><item><title><![CDATA[java多线程入门版 四]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/108818255</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/108818255</guid><author>Computer_hello</author><pubDate>Sat, 26 Sep 2020 22:14:00 +0800</pubDate><description><![CDATA[一、什么是多线程？

引用网上别人的一段话：


单进程单线程：一个人在一个桌子上吃菜。
	单进程多线程：多个人在同一个桌子上一起吃菜。
	多进程单线程：多个人每个人在自己的桌子上吃菜。
多线程的问题是多个人同时吃一道菜的时候容易发生争抢，例如两个人同时夹一个菜，一个人刚伸出筷子，结果伸到的时候已经被夹走菜了。资源共享就会发生冲突争抢。


使用多线程的优点（相对使用多进程来说）：

进程之间不能共享内存，但线程之间共享内存非常容易。
	系统创建线程所分配的资源相对创建进程而言，代价非常小。
二、Java中]]></description><category></category></item><item><title><![CDATA[java多线程入门版 三]]></title><link>https://blog.youkuaiyun.com/Computer_hello/article/details/108697880</link><guid>https://blog.youkuaiyun.com/Computer_hello/article/details/108697880</guid><author>Computer_hello</author><pubDate>Sun, 20 Sep 2020 20:21:09 +0800</pubDate><description><![CDATA[在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位，那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题，特别是电子交易发展方面相关的，他们会问面试者很多令人混淆的Java线程问题，面试官只是想确信面试者有足够的Java线程与并发方面的知识，因为候选人中有很多只浮于表面，用于直接面向市场交易的高容量和低延时的电子交易系统在本质上是并发的。下面这些是我在不同时间不同地点喜欢问的Java线程问题，我没有提供答案，但只要可]]></description><category></category></item></channel></rss>