随笔分类 - OpenSource
ClickHouse生产环境部署
摘要:背景ClickHouse是一个面向分析型的开源列式数据库管理系统,它主要应用于以下几个场景: 数据仓库和商业智能分析:ClickHouse擅长处理大规模的数据,可以用于构建企业级的数据仓库,支持复杂的OLAP查询,可用实时数仓,适合各种商业分析和报表应用。 实时分析和监控:ClickHouse以毫秒
阅读全文
探索使用Nginx +Lua 构建 API 网关
摘要:Nginx 是一种网络服务器,也可用作反向代理、负载平衡器、邮件代理和 HTTP 缓存。Nginx 可用于创建 API 网关,以事件驱动的方式处理请求,在请求进入服务器时以快速、低资源占用的方式处理查询。此外,它还能降低复杂性,并通过缩短 API 调用的平均响应时间最大限度地提高性能. 我们大多数人
阅读全文
rewrk一个更现代的http框架基准测试实用程序
摘要:引言 rewrk一个更现代的http框架基准测试实用程序。HTTP基准测试(HTTP benchmarking)是一种测量和评估HTTP服务器或应用程序性能指标的活动。其目的是在特定条件下模拟大量用户请求,以测量服务器或应用程序的响应能力、吞吐量、延迟等指标,从而评估其性能表现。HTTP基准测试通常
阅读全文
学习 Rust 的 15 种方法
摘要:学习 Rust 的 15 种方法 1. 阅读:The Rust Book - https://doc.rust-lang.org/book/ 2. 代码:做 Rustlings 练习 - https://github.com/rust-lang/rustlings 3. 课程:如何通过以下方式 学习
阅读全文
Apache APISIX实现金丝雀发布
摘要:简而言之,"金丝雀 "发布Canary Releases的理念就是只向一部分用户发布新的软件版本,分析结果,然后决定是否继续发布。如果结果与预期不符,就退回;如果结果与预期相符,就增加用户数量,直到所有用户都从新版本中受益。在这篇文章中,我将简要介绍这一介绍的细节,解释定义分数的不同方法,并展示如何
阅读全文
JAVA实现MQTT通讯介绍
摘要:JAVA实现MQTT通讯介绍 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。MQTT是一个基
阅读全文
JQueue一个实现Outbox模式的库
摘要:为了提高系统吞吐率,也就是提高生产效率,核心观点如下,系统设计也是如此 在微服务或任何其他基于事件的架构(event-driven-architecture)中,在一些用例中,一个服务可能需要我们对他们自己的本地数据库进行修改,同时发布一个事件。然后,该事件会被其他服务所消费。为了拥有一个一致的软件
阅读全文
Redis流对比Kafka
摘要:Redis流 VS Kafka Kafka以解决大规模数据处理问题而闻名,并被广泛部署在许多知名公司的基础设施中。早在2015年,LinkedIn有60个集群,总共有1100个Broker,每秒处理1300万条信息。但事实证明,规模并不是Kafka唯一擅长的事情。它所提倡的编程范式--分区、有序、事
阅读全文
Apache APISIX云原生网关介绍
摘要:Apache APISIX介绍 API网关的需求 两个基本功能,突出了对API的需求,即普通网络服务器无法提供的东西。 1)复杂的速率限制 速率限制是一种通用的能力,可以保护自己的信息系统免受DDoS攻击。然而,当你区分消费者时,例如免费与付费,你需要从简单的费率转移到更复杂的业务逻辑规则。 2)计
阅读全文
一条命令生成msyql数据库的REST API的xmysql
摘要:xmysql, 三步 快速构建mysql的REST查询接口 Generates API for ANY MySql database Serves APIs irrespective of naming conventions of primary keys, foreign keys, table
阅读全文
Magento开源电商项目介绍
摘要:Magento (麦进斗) 是一套专业开源的电子商务系统。 Magento设计得非常灵活,具有模块化架构体系和功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。 包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非
阅读全文
Hazelcast介绍
摘要:Hazelcast介绍什么时侯需要用例内存中分布式计算场景分布式消息特性全景Distributed Maps一个结点中分区 Hazelcast中的分片也称为分区,Hazelcast默认271个分区。Hazlecast通常也会对分区备份,并将副本分布到集群的不同节点上,通过数据冗余提高可靠性,这种数据的存储方式和kafka、Redis Cluster类似。2个结点黑色字体表示的分区为主分区,蓝...
阅读全文
基于ElasticStack数据分析应用系统
摘要:1、ElasticsearchElasticsearch 基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。2、LogstashLogstash 基于java,是一个开源的用于收集,分析和存储日志的工具。3、KibanaKibana 基于nodejs,也是一个开源和免费的工具,Kibana可以为...
阅读全文
区块链技术与应用回顾
摘要:区块链(BlockChain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的 新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。这次是再次回顾了,笔者之前是在2014年接触BitCoin与BlockChain.区块链是一种去中心化的状态机比特币的特点以太坊的特点Bitcoin/Ethereum/Ripple/Hyperledger的...
阅读全文
ElasticSearch+NLog+Elmah实现Asp.Net分布式日志管理
摘要:本文将介绍使用NLOG、Elmah结合ElasticSearch实现分布式日志管理。 一、ElasticSearch简介 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计...
阅读全文
MongoDb gridfs-ngnix文件存储方案
摘要:在各类系统应用服务端开发中,我们经常会遇到文件存储的问题。 常见的磁盘文件系统,DBMS传统文件流存储。今天我们看一下基于NoSQL数据库MongoDb的存储方案。笔者环境 以CentOS 6.5,MongoDb 2.6.3, Nginx-1.4.7 为例,您需要了解Linux常用命令。 先来回顾一下MongoDb的内部文件结构 MongoDB在数据存储上按命名空间...
阅读全文
ActiveMQ消息队列介绍
摘要:ActiveMQ是一个开源兼容Java Message Service (JMS) 1.1面向消息的中件间. 来自Apache Software Foundation. ActiveMQ提供松耦合的应用程序架构. 先来看两个应用通过RPC通讯的紧耦合: 通过面向消息的中件间, 架构演变为: 我们看到应用程序1发送message到中件间, 应用程序2从中件间接收message....
阅读全文
GitLab版本管理
摘要:GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复...
阅读全文
CoinPunk项目介绍
摘要:CoinPunk是一个bitcoin比特币钱夹服务web应用程序,你可以自己构建钱夹服务。开源,免费。 轻量级,高效 响应式设计 轻易创建新账户 详细的交易记录 构建于Node.js与HTML5 标准化兼容,通过JSON RPC使用bitcoind 安装 接下来我们来看下如何在Ubuntu 12.4 安装前准备: ...
阅读全文
Insight API开源项目介绍
摘要:首先,在阅读本文以前假设您已经了解比特币Bitcoin基本原理。 Insight API是一个开源基于比特币Bitcoin blockchain的REST风格的API框架。Insight API运行于NodeJS环境,使用LevelDB做数据存储。使用Insight API可以开发基于Bitcoin的应用程序,如获取blockchain信息的钱包。这里我们介绍此刻最新版本2.7,它...
阅读全文