Technical Blog

Welcome to my world! 有问题请osswangxining(at)163.com


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

在Ubuntu16.04上构建第一个fabric网络

发表于 2018-04-01 | 分类于 分布式&云计算 , blockchain


图片来自https://pixabay.com

前言

本篇我们将按照Hyperledger Doc: Building Your First Network,体验fabric-samples-1.1.0中的first-network示例。

first-network这个示例的场景是由两个组织组成Hyperledger Fabric的网络,其中只有一个orderer节点,每个组织有2个peer节点。

使用Ubuntu16.04主机作为运行环境,已经安装好了docker和docker-compose。

阅读全文 »

Service Mesh利器:NGINX+gRPC

发表于 2018-03-24 | 分类于 分布式&云计算 , 微服务


图片来自https://pixabay.com

Nginx支持gRPC服务集群

(蹭热点)2018年3月17日,NGINIX官方宣布在nginx 1.13.10中将会支持gRPC,这一宣告表示了NGINX已完成对gRPC的原生支持。众所周知,gRPC已经是新一代微服务的事实标准RPC框架。对于实现来说,可以用服务框架等手段来做到负载均衡,但业界其实还没有非常成熟的针对gRPC的反向代理软件。
NGINIX作为老牌负载均衡软件对gRPC进行了支持,之前已经可以代理gRPC的TCP连接,新版本之后,还可以终止、检查和跟踪 gRPC 的方法调用:

  • 发布 gRPC 服务,然后使用 NGINX 应用 HTTP/2 TLS 加密、速率限制、基于 IP 的访问控制列表和日志记录;
  • 通过单个端点发布多个 gRPC 服务,使用 NGINX 检查并跟踪每个内部服务的调用;
  • 使用 Round Robin, Least Connections 或其他方法在集群分配调用,对 gRPC 服务集群进行负载均衡;
    阅读全文 »

写一个Terraform Provider

发表于 2018-03-17 | 分类于 分布式&云计算


图片来自https://pixabay.com

Terraform

Terraform 是一个 IT 基础架构自动化编排工具,它的口号是 “Write, Plan, and create Infrastructure as Code”, 基础架构即代码。具体的说就是可以用代码来管理维护 IT 资源,并且在真正运行之前可以看到执行计划(即dryrun)。由于状态保存到文件中,因此能够离线方式查看资源情况 – 当然,前提是不要在 Terraform 之外对资源进行修改。

Terraform 是一个高度可扩展的工具,通过 Provider 来支持新的基础架构,譬如本文中介绍的用于支持Kafka topic管理的provider。

Writing a Terraform provider

怎么编写一个定制的Terraform provider, 官方网站给出了一定的开发指导,但略感简单。本文试图从零开始整理一遍整个开发的过程以及涉及的一些关键点。

一个Terraform provider最基本的两个要素就是provider本身以及所涉及到的resource。

阅读全文 »

巧用Envoy+Docker打造轻量级Sidecar代理

发表于 2018-02-04 | 分类于 分布式&云计算 , 微服务


图片来自https://pixabay.com

Envoy是什么?

Envoy 是一个面向服务架构的L7代理和通信总线而设计的,这个项目诞生是出于以下目标:

对于应用程序而言,网络应该是透明的,当发生网络和应用程序故障时,能够很容易定位出问题的根源。

阅读全文 »

Istio

发表于 2018-01-28 | 分类于 分布式&云计算 , 微服务

基于之前的版本更新.

概述

Istio是一个用于连接/管理以及安全化微服务的开放平台, 提供了一种简单的方式用于创建微服务网络,并提供负载均衡/服务间认证/监控等能力,关键的是并不需要修改服务本身. 主要提供以下功能:

  • Traffic Management: 控制服务之间调用的流量和API调用;
  • Observability: 获取服务之间的依赖,以及服务调用的流量走向;
  • Policy Enforcement: 控制服务的访问策略,不需要改动服务本身;
  • Service Identity and Security: 服务身份与安全相关的功能;

架构

Istio从架构上看,主要分为2个部分,即:

  • 控制面板: 管理代理,用于支持流量路由/运行时执行策略等;
  • 数据面板: 由一系列的智能代理(Envoy)构成,用于仲裁和控制服务之间的网络交互;

Istio Arch

阅读全文 »

Service Mesh - Spring Cloud [Netflix|Consul] Sidecar

发表于 2018-01-27 | 分类于 分布式&云计算 , 分布式技术架构

简介

Spring Cloud是目前非常流行的微服务化解决方案,它将Spring Boot的便捷开发和Netflix OSS的丰富解决方案结合起来。Spring Cloud不同于Dubbo,使用的是基于HTTP(s)的Rest服务来构建整个服务体系。

那么有没有可能使用一些非JVM语言,例如熟悉的Node.js来开发一些Rest服务呢?当然是可以的。但是如果只有Rest服务,还不能接入Spring Cloud系统。此外,还想使用起Spring Cloud提供的Eureka进行服务发现,使用Config Server做配置管理,使用Ribbon做客户端负载均衡。这个时候Spring sidecar就可以大显身手了。

Sidecar起源于Netflix Prana。它提供了一个可以获取既定服务所有实例的信息(例如host,端口等)的http api。也可以通过一个嵌入的Zuul,代理服务到从Eureka获取的相关路由节点。Spring Cloud Config Server可以直接通过主机查找或通过代理Zuul进行访问。

需要注意的是你所开发的Node.js应用,必须去实现一个健康检查接口,来让Sidecar可以把这个服务实例的健康状况报告给Eureka。
非jvm应用应该实现一个健康检查,Sidecar能够以此来报告给Eureka注册中心该应用是up还是down状态。

阅读全文 »

Spring Cloud Bus based on RocketMQ

发表于 2018-01-20 | 分类于 分布式&云计算 , 分布式技术架构

Prerequisite

RocketMQ

Download & Build from Release

Execute the following commands to unpack 4.2.0 source release and build the binary artifact.

1
2
3
4
> unzip rocketmq-all-4.2.0-source-release.zip
> cd rocketmq-all-4.2.0/
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/apache-rocketmq

Start Name Server

1
2
3
> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...

Start Broker

1
2
3
> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success...
阅读全文 »

分布式系统架构设计

发表于 2018-01-01 | 分类于 分布式&云计算 , 分布式技术架构

基于之前的版本更新.

如何有效设计分布式系统

结合实例分享分布式系统架构设计的经验

阅读全文 »

以架构师的角度看Docker

发表于 2017-11-07 | 分类于 Docker

从ROI来看Docker

Modernize Traditional Apps using Docker

不打算写太多文字,highlight:

  • 三个词:质量、速度、创新。
  • 三句话:系统思考、加速反馈循环、持续改进

Docker and the Three Ways of DevOps

Modernize Traditional Apps

Solution Brief: Modernize Traditional Apps

Docker or VM

阅读全文 »

使用LoRa在Edge端组网并接入IoT云平台

发表于 2017-10-30 | 分类于 IoT

扫盲LoRa

LoRa是个什么鬼?

物联网应用中的无线技术有多种,可组成局域网或广域网。组成局域网的无线技术主要有2.4GHz的WiFi,蓝牙、Zigbee等,组成广域网的无线技术主要有2G/3G/4G等。这些无线技术,优缺点非常明显,如下图所示:

在低功耗广域网(Low Power Wide Area Network, LPWAN)产生之前,似乎远距离和低功耗两者之间只能二选一。当采用LPWAN技术之后,设计人员可做到两者都兼顾,最大程度地实现更长距离通信与更低功耗,同时还可节省额外的中继器成本。

LoRa是LPWAN通信技术中的一种,是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输方案。这一方案改变了以往关于传输距离与功耗的折衷考虑方式,为用户提供一种简单的能实现远距离、长电池寿命、大容量的系统,进而扩展传感网络。目前,LoRa 主要在全球免费频段运行,包括433、868、915 MHz等。

阅读全文 »
12…5
Xi Ning Wang

Xi Ning Wang

专注于分布式高性能技术架构、容器|K8S、IoT云平台,支持语言:Java(script) | Python | Golang

47 日志
16 分类
34 标签
GitHub E-Mail Google StackOverflow
Links
  • Istio
  • gRPC
0%
© 2015 — 2018 Xi Ning Wang
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4