linux 应用 第2页

  • golang的grpc学习笔记2

    golang的grpc学习笔记2

    前言 上一篇文章简单体验了一下grpc的golang使用,从环境安装到简单demo的编写,编译和测试,感觉还不错,今天再进一步学习分析其用法和一些要注意的坑。 grpc介绍 grpc一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本。而且gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使...

    linux 应用 2018-02-07 85 1
  • golang grpc简单使用

    golang grpc简单使用

    gRPC是一个高性能、通用的开源RPC框架,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 1、相关包安装 1)protobuf 在下面的链接下载之后源码安装, https://github.com/google/protobuf 安装过程也比较简单: ./autogen.sh ./configure ./make && make install 就可以安装好。 2)安装protoc的golang插件 设置好go...

  • helight.info域名启用

    helight.info域名启用

    纠结了好久,终于定了,启用了helight.info这个域名,同时还申请了helight.cn,helight.com的域名已经被人注册了,还是一个黑科技公司,看产品就很奇怪。 这几天已经配置把helight.info配置ok了,整个网站都切换了,zhwen.org还会继续使用,欢迎大家浏览。...

    linux 应用 2018-01-29 54 1
  • golang的httpserver优雅重启

    golang的httpserver优雅重启

    去年在做golangserver的时候,内部比较头疼的就是在线服务发布的时候,大量用户的请求在发布时候会被重连,在那时候也想了n多的方法,最后还是落在一个github上的项目,facebook的一个golang项目grace,那时候简单研究测试了一下可以就直接在内部使用了起来,这段时间突然想起来,又想仔细研究一下这个项目了。 从原理上来说是这样一个过程: 1)发布新的bin文件去覆盖老的bin文件 2)发送一个信号量,告诉正在运行的进程,进行重启 3)正在运行的进程收到信...

    linux 应用 2018-01-24 81 1 gogrpc
  • lex和yacc 学习笔记

    lex和yacc 学习笔记

        前一段时间在项目中要使用一个规则表达式计算的功能,而且想可以任意扩展计算功能,比如计算AUB,A和B都表示一个号码包,计算并集,当然实际使用的公式会更为复杂,这里举例说明。在计算时候要判断如果A包已经计算ok了就可以使用A包,如果没有计算成功就需要发起计算并且等待计算成功,B包也是要同样的处理过程,最后再计算并集。当然这样一个功能自己定义写肯定是没问题的,但是还要想到后面的扩展性和程序代码可移交等问题,还是想有一个通用的方法来解决,所以在最后想到了使用yacc和lex来组织解决。实际上后来发现用yacc和l...

  • 如何使用Swagger编写API文档

    如何使用Swagger编写API文档

        最近在梳理内部系统的架构设计,而且前端时间也在kindle上看了一些国外开发在API的架构设计上的一些思考。所以就想着我们内部系统的api也应该梳理梳理了。     目前内部使用golang开发是重头,基本上的服务和调度都是使用golang来开发,而且内部模块之间的调用都是http的接口。而且目前golang1.8已经默认支持了http2的协议,在效率上以前顾虑的问题,现在都有所缓解,所以把这块的梳理重点放在了http接口的梳理上。     重点看了soap,json-rpc,restfull。在梳...

    linux 应用 2018-01-19 74 1 lex
  • ubuntu中编译安装protobuf记录

    ubuntu中编译安装protobuf记录

    1.下载protobuf 下载地址:https://github.com/google/protobuf/releases 2.编译protobuf 解压下载的tar.gz包,cd到protobuf的目录下,执行以下指令: ./configure make make check make install 3.检查安装是否成功 protoc --version 如果成功,则会输出版本号信息,例如:libprotoc 2.6.1 如果有问题,则会输出错误内容。 4.错误及解决方法...

    linux 应用 2015-09-11 66 0 cpp
  • Java通过swig调用C++接口

    Java通过swig调用C++接口

    记录一下过程 c++代码: swigshape.h #ifndef TEST_CODE_SWIG_TEST_SHAPE_H #define TEST_CODE_SWIG_TEST_SHAPE_H #pragma once class Shape { public: Shape() { nshapes++; } virtual ~Shape() { nshapes--; }; double x, y; void move(double dx, double dy); virtual...

    linux 应用 2015-09-10 62 0 uwsgikernel
  • thrift maven编译运行

    thrift maven编译运行

    dependencies编译,pom.xml中加入build配置:    <build >                < sourceDirectory> src/main/java </ sourceDirectory>                < plugins>                       <!-- Bind the maven-assembly-plugin to the package phase this wil...

  • zookeeper原理2(转)

    zookeeper原理2(转)

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在 某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。本文简单分析 zookeeper的工作原理,对于如何使用zookeeper不是本...

    linux 应用 2015-01-22 63 0 sqlite
  • zookeeper原理

    zookeeper原理

    ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。 分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高一致性的,这些服务是其他分布式服务运转的基础,比如naming service、分布式lock等,这些分布式的基础服务有以下要求: 高可用性 高一致性 高性能 对于这种有些挑战CAP原则 的服务该如何设计,是一个挑战,也是一...

    linux 应用 2015-01-22 60 0 swig
  • docker镜像的创建和下载使用

    docker镜像的创建和下载使用

    首先查看已有的imags。  root@helight-Xu:/data# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE debian latest 4d6ce913b130 3 days ago 84.98 MB ubuntu latest b39b81afc8ca 3 days ago 188.3 MB <none> <none> 8eaa4ff06b53 2 weeks ago 188.3 MB 这个在...

    linux 应用 2015-01-20 53 0 maven
  • docker初体验和使用笔记

    docker初体验和使用笔记

    在ubuntu13.10上体验docker 首先要检测以下你的内核版本 sudo uname -a Linux helight-Xu 3.11.0-26-generic #45-Ubuntu SMP Tue Jul 15 04:02:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 第一次添加Docker的repository到你的本地秘钥库 sudo apt-key adv --keyserver keyserver.ubuntu.com --re...

    linux 应用 2015-01-20 60 0 mavenspark
  • netty用pb来实现多接口rpc

    netty用pb来实现多接口rpc

    在netty中使用pb, nettty的pb编解码必须指定要解码和编码的pb结构体,这然做多接口的应用就很不方便,这里采用了一种简单的方式来解决。 pb定义如下: package org.zhwen.netty.hello; enum ReqestType { LOGIN = 0; SERVICE = 1; } message Request { required ReqestType type = 1; optional Login login = 100; optional...

    linux 应用 2014-12-17 49 0 dockerubuntu
  • zz MySQL的InnoDB索引原理详解

    zz MySQL的InnoDB索引原理详解

    原文地址:http://www.admin10000.com/document/5372.html 摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。 这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请指出。   1 各...

    linux 应用 2014-10-27 50 0 shell
  • ngingx访问限制和iptables简单使用

    ngingx访问限制和iptables简单使用

    为了方便安装了一个phpmyadmin,结果公司扫描了之后说要做一些安全限制,主要还是用到nginx的访问限制和iptables,这里稍微做一下记录 nginx的限制较为简单,在server中添加对phpmyadmin的限制即可 location ~* /phpmyadmin/ { allow 192.168.3.0/24; deny all; } 主要还是记录一下iptables的简单使用: 1、查看 iptables -vL –line-number -v 输出...

    linux 应用 2014-10-14 68 0 2pchdfs
  • hdfs的C++接口编译测试

    hdfs的C++接口编译测试

     项目中要做一个数据包管理服务,我们主要项目开发都是C++的,所以这个数据包管理也是c++开发的,但是数据包的存储是个问题,最后选择了本地存储和hdfs存储结合。     昨天调试了以下hdfs的C++接口,简单这里记录一下: 代码程序是网上随处可以搜到的测试代码: #include <stdlib.h> #include <stdio.h> #include <string.h> #include "hdfs.h" int main(int argc, cha...

    linux 应用 2014-05-09 55 0