自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 HyperLedgerFabric日志系统改造(源码改造)

目前fabric的日志系统是将所有的日志输出定向到stderr,这在生产环境中显然是不可以接受的,日志持久化成了一个亟待解决的问题。本篇文章将从源码入手,改造fabric的日志系统,实现日志的持久化、日志自动切割等功能。源码修改环境准备获取源码go get github.com/hyperledger/fabric切换到 1.4.4版本(这里我本地已经搭建了1.4.4版本的fa...

2020-04-22 19:33:17 787 1

原创 玩转Java8Stream(IDEA StreamTrace调试神器)

java的stream编程给调试带来了极大的不便,idea 推出了streamtrace功能,可以详细看到每一步操作的关系、结果,非常方便进行调试。初遇StreamTrace这里简单将字符串转成它的字符数,并设置断点开启debug模式。如上图所示,可以看到每一步操作的元素个数、操作的结果、元素转换前后的对应关,非常清晰明了;还可以查看具体的对象内容。使用StreamTraceStrea...

2020-03-27 17:37:10 2451 2

原创 玩转Java8Stream(四、IntStream)

玩转Java8Stream(四、IntStream)IntStream是特殊的Stream,但有一些操作符是IntStream独有的;话不多说,开始玩转IntStream吧。理论讲解构造IntStreamIntStream这个接口里提供了如下方法:IntStream.generate() 产生一个无限流,这里需要传入一个IntSupplier函数式接口实例 。IntStrea...

2020-03-22 16:23:16 579

原创 Fabric高可用之Raft共识网络部署

Raft共识在1.4.1版本时正式支持,本次基于1.4.4版本部署Raft版的Fabric网络。由于Raft共识集成了etcd,不再需要使用kafka、zookeeper等中间件。本次部署将搭建3Orderer节点、2组织(2peer)的Fabric网络,使用vagrant创建 8台centos虚拟机,其中一台用于nfs共享文件,具体主机组件对应如下:192.168.33.11: orderer...

2020-02-15 19:46:07 756

原创 Hyperledger Fabric(集成Fabric-ca)

安装Fabirc-CA-Client获取fabric-ca源码go get github.com/hyperledger/fabric-ca切换到v1.4.0分支git checkout v1.4.0编译安装clientcd cmd/fabric-ca-clientgo install注意:需要将GOPATH/bin 添加到环境变量Fabric-CA交互原理启用TLS这...

2020-02-02 15:34:43 489 1

原创 HyperLedger Fabric(高可用之kafka部署)

这里我使用vagrant创建9台centos虚拟机,搭建3个zookeeper、4个kafka、3个oerderer、2个组织(包含两个peer)网络,另外一台主机作为nfs-server使用,主机对应的fabric网络组件如下:192.168.33.11: zookeeper0、kafka0、orderer0192.168.33.12: zookeeper1、kafka1、orderer1...

2020-01-30 17:21:08 669

原创 Hyperledger Fabric(多机solo版)

基于vagrant环境搭建1排序节点、4peer节点,2组织的fabric网络。使用nfs作为文件共享。源码环境搭建需要一台nfsserver主机,排序节点1台主机,每个peer一台主机,一共6台虚拟机创建vagrant配置文件vagrant init centos/7修改vagrantfile文件# -*- mode: ruby -*-# vi: set ft=rub...

2020-01-29 15:54:07 247

原创 HyperLedger Fabric(单机Solo版)

本次环境还是基于Vagrant,创建1peer节点1组织1个排序节点的fabric网络,其实这个和first-network差不多,只是使用手动的方式完成fabric网络的部署。实验环境搭建创建虚拟机创建vagrant配置文件,这里指定操作系统为centos7vagrant init centos/7编写启动脚本 bootstrap.sh#!/usr/bin/bashsud...

2020-01-27 16:42:20 536

原创 HyperLedger Fabric(First-Network)

HyperLedger Fabric(First-Network)基于官方脚本快速部署第一个fabric网络,本次实验vagrant创建的虚拟机中执行。实验环境搭建本文假设你已经安装好vagrant,当你出现如下图所示的信息之后,即可执行下一步。若还未安装vagrant 请前往https://www.vagrantup.com/ 进行安装后进行下一步操作创建虚拟机创建vagran...

2020-01-25 19:35:20 239

原创 单例模式安全之反射攻击

源码单例模式这里就不谈了,什么是单例模式可参考七种Java单例模式详解,这里是关于单例模式安全方面的,当然了这里说的安全不是线程安全。什么是反射攻击呢在Java中,由于反射的功能实在是太强了,通过动态访问类并设置AccessAllow 使得可以访问对象的私有属性方法等。在单例模式中,我们使用private 修饰构造方法对外隐藏,防止外部new 对象,但是在反射的存在下,private的存...

2019-07-25 14:50:27 403

原创 玩转Java8Stream(三、Collectors收集器)

文章目录API 使用数据收集聚合归约前后处理总结简书之前的文章中也提到了,Stream 的核心在于Collectors,即对处理后的数据进行收集。Collectors 提供了非常多且强大的API,可以将最终的数据收集成List、Set、Map,甚至是更复杂的结构(这三者的嵌套组合)。Collectors 提供了很多API,很多都是一些函数的重载,这里我个人将其分为三大类,如下:数据收...

2019-05-30 00:33:47 1436

原创 单例模式安全之序列化攻击

源码什么是序列化攻击呢?简单说,一个单例对象经过序列化再反序列化后,内存中会存在两个对象,这样单例模式就被破坏。序列化攻击复现序列化攻击复过程获取到单例对象对象序列化持久到磁盘反序列化成对象这里采用JDK的自带的序列化方式单例实现Serializable接口package com.fine.serialize;import java.io.Serializable;...

2019-05-05 16:43:35 425

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除