Deployer

分享实录|以太坊开发需知

ε祈祈猫儿з 提交于 2021-02-12 09:07:11
1 以太坊开发与传统应用开发的差异 相比起传统应用而言,以太坊开发引入了新的基础设施,由此必不可少的带来了部署和运维的复杂度,比如作为系统设计者,我们需要做出选择: 自建节点,还是信任第三方节点? 公有链、联盟链、私有链? 由于加入了新的设计单元:智能合约,我们将面对 设计的复杂度 合约的升级问题:因为智能合约一旦发布就无法更改,万一需要更新合约错误或规则,怎么办? 合约的组织问题。 与一般代码不同,合约的好坏直接与金钱挂钩 不安全的合约会造成客户的金钱损失,立竿见影。 合约的每一步都需要消耗gas,不讲究的合约会造成执行成本高居不下。 并且,以太坊本身的限制同样也会影响到整个应用系统的设计和选型: 交易确认需要时间:20笔/秒 交易易受外界影响 交易费的高低 流行应用会造成网络拥堵,从影响交易的确认 相比起传统CS编程,与以太坊进行交互要复杂得多: 需要有钱包账户 发出去的交易需要签名 由于整个过程是异步为主,因此交易需要验证 对于区块链本身的定位,同样也会影响设计: 仅仅用作数据共享和防篡改的基础设施? 围绕区块链打造价值网络? Token设计模式 Token引入对于业务本身带来的影响 这一点尤其差异巨大,不单单像传统开发那样仅仅只需要了解用户的业务就可以开足马力前进。Token设计本身需要一定的经济常识,虽说这部分可以由专业背景的人来设计,但对于开发者和架构师而言

Hexo + GitEE 搭建、备份、恢复、多终端

送分小仙女□ 提交于 2020-12-19 07:20:01
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 Hexo 是使用的比较多的博客框架了,我也尝试自己搭一下,做一些基础功能的测试。之所以没有使用 GitHub 而选择了码云,一是我有自己的 VPS 不需要使用 GitHub Pages ,所以本文也没有关于如何使用 GitHub Pages 的教程;二是 GitHub 上私有仓库是收费的,码云上面能创建免费的私有仓库。也有人选择使用 Docker 来创建博客环境,做镜像备份,这里没有使用此方案,各有所好吧! 环境 主服务器系统版本与内核版本: [root@dbn-japan ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@dbn-japan ~]# uname -r 3.10.0-862.3.2.el7.x86_64 测试服务器系统版本与内核版本: [root@host ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@host ~]# uname -r 4.10.4-1.el7.elrepo.x86_64 安装 wget yum install -y

「从零单排canal 03」 canal源码分析大纲

独自空忆成欢 提交于 2020-11-02 02:56:21
在前面两篇中,我们从基本概念理解了canal是一个什么项目,能应用于什么场景,然后通过一个demo体验,有了基本的体感和认识。 从这一篇开始,我们将从源码入手,深入学习canal的实现方式。了解canal相关功能的实现方式,其中有很多机制是非常值得深入了解的,从代码实现角度去学习实时数据订阅与同步的核心技术点。当然,如果要在生产中使用这个开源项目,了解源码更是必不可少,是解决问题和新特性定制的前提条件。 本文使用的版本是1.1.4,这也是笔者写这篇博客时的最新稳定版。 1.准备工作 下载源码 git clone https: //github.com/alibaba/canal.git 切换到1.1.4这个tag git checkout canal-1 .1 .4 或者可以关注我的源码注释版本(正在不断更新中) https: / /github.com/saigu /JavaKnowledgeGraph/tree /master/code _reading/canal 2.canal项目模块介绍 canal项目是基于maven构建的,将不同的功能模块划分了不同的子模块。 我们可以简单执行可执行模块deployer,也可以将模块通过maven依赖的方式,将你需要的子模块引入到你自己的项目中进行使用开发。 简单介绍下核心模块的功能: deployer模块:独立部署模块,用于canal

聊聊OtterLauncher

﹥>﹥吖頭↗ 提交于 2020-10-15 00:42:37
序 本文主要研究一下OtterLauncher OtterLauncher otter/node/deployer/src/main/java/com/alibaba/otter/node/deployer/OtterLauncher.java public class OtterLauncher { private static final Logger logger = LoggerFactory.getLogger(OtterLauncher.class); public static void main(String[] args) throws Throwable { // 启动dragoon client // startDragoon(); // logger.info("INFO ## the dragoon is start now ......"); final OtterController controller = OtterContextLocator.getOtterController(); controller.start(); try { logger.info("INFO ## the otter server is running now ......"); Runtime.getRuntime().addShutdownHook(new

「从零单排canal 03」 canal源码分析大纲

戏子无情 提交于 2020-08-15 10:50:46
在前面两篇中,我们从基本概念理解了canal是一个什么项目,能应用于什么场景,然后通过一个demo体验,有了基本的体感和认识。 从这一篇开始,我们将从源码入手,深入学习canal的实现方式。了解canal相关功能的实现方式,其中有很多机制是非常值得深入了解的,从代码角度实现角度去学习实时数据订阅与同步的实现与核心技术点。当然,如果要在生产中使用这个开源项目,了解源码更是必不可少,是解决问题和新特性定制的前提条件。 本文使用的版本是1.1.4,这也是笔者写这篇博客时的最新稳定版。 1.准备工作 下载源码 git clone https: //github.com/alibaba/canal.git 切换到1.1.4这个tag git checkout canal-1 .1 .4 或者可以关注我的源码注释版本(正在不断更新中) https: / /github.com/saigu /JavaKnowledgeGraph/tree /master/code _reading/canal 2.canal项目模块介绍 canal项目是基于maven构建的,将不同的功能模块划分了不同的子模块。 我们可以简单执行可执行模块deployer,也可以将模块通过maven依赖的方式,将你需要的子模块引入到你自己的项目中进行使用开发。 简单介绍下核心模块的功能: deployer模块:独立部署模块

Canal——增量同步MySQL数据到ElasticSearch

半腔热情 提交于 2020-08-12 02:09:28
1.准备 1.1.组件    JDK :1.8版本及以上;    ElasticSearch :6.x版本,目前貌似不支持7.x版本; Kibana :6.x版本;   Canal.deployer: 1.1.4    Canal.Adapter: 1.1.4 1.2.配置 需要先开启MySQL的 binlog 写入功能,配置 binlog-format 为 ROW 模式 找到my.cnf文件,我的目录是/etc/my.cnf,添加以下 配置: log-bin=mysql- bin   # 开启 binlog binlog -format= ROW   # 选择 ROW 模式 server_id = 1      # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复 然后 重启mysql ,用以下命令检查一下binlog是否正确启动: mysql> show variables like 'log_bin%' ; +---------------------------------+----------------------------------+ | Variable_name | Value | +---------------------------------+--------------------------------

Flink 中的应用部署:当前状态与新应用模式

a 夏天 提交于 2020-08-11 19:19:59
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 作为现代企业的重要工具,流处理和实时分析这类工具逐渐兴起,越来越多的企业以 Apache Flink 为核心构建平台,并将其作为服务在内部提供。在最新举办的 Flink Forward 会议中, Uber 、 Netflix 和 阿里巴巴等公司的许多相关主题演讲进一步说明了这一趋势。 这些平台旨在通过减轻最终用户的所有运营负担来简化内部的 Application (应用)提交。为了提交 Flink 应用程序,这些平台通常只公开一个集中式或低并行度端点(例如 Web 前端)用于应用提交,我们将调用 Deployer(部署器)。 平台开发人员和维护人员经常提到的障碍之一是,Deployer 可能是一个很难配置的大量资源消耗者。如果按照平均负载进行配置,可能会导致 Deployer 服务被部署请求淹没(在最坏的情况下,短时间内对所有生产应用程序都是如此),而按照最高负载进行规划的话,又会带来不必要的成本。根据这一观察结果,Flink 1.11 引入了 Application 模式(应用模式)作为部署选项,它允许一个轻量级、更可伸缩性的应用提交过程,从而使应用程序部署负载更均匀地分布在集群的各个节点上。 为了理解这个问题以及了解 Application 模式如何解决该问题

「从零单排canal 04」 启动模块deployer源码解析

岁酱吖の 提交于 2020-08-09 05:14:53
基于1.1.5-alpha版本,具体源码笔记可以参考我的github: https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的启动模块deployer进行分析。 Deployer模块(绿色部分)在整个系统中的角色如下图所示,用来启动canal-server. 模块内的类如下: 为了能带着目的看源码,以几个问题开头,带着问题来一起探索deployer模块的源码。 CanalServer启动过程中配置如何加载? CanalServer启动过程中涉及哪些组件? 集群模式的canalServer,是如何实现instance的HA呢? 每个canalServer又是怎么获取admin上的配置变更呢? 1.入口类CanalLauncher 这个类是整个canal-server的入口类。负责配置加载和启动canal-server。 主流程如下: 加载canal.properties的配置内容 根据canal.admin.manager是否为空判断是否是admin控制,如果不是admin控制,就直接根据canal.properties的配置来了 如果是admin控制,使用PlainCanalConfigClient获取远程配置

[区块链笔记4] truffle部署合约到Ganache

旧时模样 提交于 2020-08-08 12:19:10
文章目录 前言(废话+杂记+感受) 正文前的记录 创建项目 写一个简单的solidity 部署配置文件 truffle编译 部署的最后一步 与合约互动 总结 前言(废话+杂记+感受) 前段时间征集大创,班里两个同学想和我组队,然后我就又拉上一位大佬组起了队。其实到现在也不太清楚大学阶段最后要深入研究那个方向,现在还在各种方向都摸索着,好害怕最后什么都知道一点,但是什么都不精。不太想专门写一篇日志,所以就借着这个周二的早上记录一下叭。言归正传。 用了4天看solidity,第3、4天看的加密僵尸,第6章需要用到javascript、jquery,然后就用了3天去看这个两个语法,顺带着看了看nodejs的相关基础(因为部署的时候需要用到truffle等东西,这些都是和nodejs有一点联系的,比如说truffle就是得用npm来install,但是下载npm最省事的方法就是通过安装node来安装了)。 然后花了1天时间来看truffle的部署,准确的说应该是废了1天,因为这一天啥都没弄明白,只是装好了各种环境而已。 看了一天还是萌萌咚咚,然后想起来CX大佬之前写过一篇关于部署和测试的文章,借鉴了一下。 https://blog.csdn.net/weixin_40788897/article/details/103918598 正文前的记录 加密僵尸那个教程的truffle里好多部署

TF实战丨使用Vagrant安装Tungsten Fabric

本秂侑毒 提交于 2020-08-08 12:16:55
本文为苏宁网络架构师陈刚的原创文章。 01准备测试机 在16G的笔记本没跑起来,就干脆拼凑了一台游戏工作室级别的机器:双路E5-2860v3 CPU,24核48线程,128G DDR4 ECC内存,NVME盘 512G。在上面开5个VM,假装是物理服务器。 · 192.16.35.110 deployer · 192.16.35.111 tf控制器 · 192.16.35.112 openstack服务器,同时也是计算节点 · 192.16.35.113 k8s master · 192.16.35.114 k8s的Node k01,同时也是ops的计算节点 直接使用vagrant拉镜像会很慢,就先下载下来: https://cloud.centos.org/centos/7/vagrant/x86_64/images/ 下载对应的VirtualBox.box文件。 然后使用命令, 命名为vagrant的box: vagrant box add centos/7 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box cat << EEOOFF > vagrantfile ###start #-*- mode: ruby -*- #vi: set ft=ruby : Vagrant.require_version ">=2.0.3" #All