框架要先把整体的结构定义好,一般都是在$GOPATH目录的src下建立自己的目录 zinterface是一些接口的定义 znet就是接口的具体实现 IServer.go package zinterface type IServer interface{ Start() Stop() Server() } server.go一个tcp服务端的基本业务,简单的原样回显 package znet import ( "fmt" "log" "net"…
对tcp连接部分以及与连接绑定的业务部分进行抽象和封装 主要是对连接的开启关闭和读写进行封装,抽象出接口,使用回调进行具体业务的绑定 zinterface/iconnection.go package zinterface import "net" type IConnection interface{ Start() Stop() GetConnId() uint32 IsClosed() bool Send(data []byte,len int) error GetRemoteA…
tcp传输的数据是以流的形式传输的,因此就没有办法判断到哪里结束算是自己的一个消息,这样就会出现粘包问题,多个包粘在一起了 可以使用这样一个自定义的形式来解决,一个消息分为 head+body  head包括数据的长度和数据编号 , 长度和编号都是uint32类型 也就是32位 占有4个字节 , 总共head占有8个字节 封装一个消息的结构体,作为一个数据实体,比如下面这个,编号 数据 数据长度  三个属性 package znet type Message struct { Id uint32…
在一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个json文件来对应一个struct的对象,进行全局配置 建一个conf/zinx.json作为配置文件 { "Name":"zinxServer", "Host":"0.0.0.0", } 建一个utils/GlobalObj.go  utils包,比如下面这个 func init()函数可以在导包的同时被执行,并且在这个里面声明一个全局变量作为数据存…
工作几年,用过不不少RPC框架,也算是读过一些RPC源码.之前也撸过几次RPC框架,但是不断的被自己否定,最近终于又撸了一个,希望能够不断迭代出自己喜欢的样子. 顺便也记录一下撸RPC的过程,一来作为总结和回顾,二来算是一种推广. 首先,当然是推广:forest  基于netty轻量的高性能分布式RPC服务框架. 既然是RPC框架,那么首先都弄清楚RPC是什么? 1.如何用通俗的语言解释一下RPC呢? RPC(Remote Procedure Call Protocol)--远程过程调用协议,它…
基于netty轻量的高性能分布式RPC服务框架forest<上篇> 文章已经简单介绍了forest的快速入门,本文旨在介绍forest用户指南. 基本介绍 Forest是一套基于java开发的RPC框架,除了常规的点对点调用外,Motan还提供服务治理功能,包括服务节点的自动发现.摘除.高可用和负载均衡等. 架构概述 Forest中分为服务提供方(RPC Server),服务调用方(RPC Client)和服务注册中心(Registry)三个角色. Server提供服务,向Registry注册…
https://yq.aliyun.com/articles/221647 摘要: 阿里云轻量应用服务器价格表及介绍,关于轻量应用服务器和ECS服务器的性能对比 阿里云轻量应用服务器是阿里云新推出的服务器,本文介绍阿里云轻量服务器的价格,已经何为"轻量"?轻量与阿里云ECS服务器有什么区别?轻量性能就一定不如ECS服务器吗? 什么是轻量应用服务器?轻量应用服务器是面向单机应用场景的新一代计算服务,提供精品应用一键部署,支持一站式的域名.网站.安全.运维.应用管理等服务,极大地优化了搭建…
[转] 大神真面目 稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 编辑推荐: 做Android应用开发的同学们相信对“缓存”这个词不陌生,缓存可能有多方面的概念,这里大概列举下程序开发的缓存大概有哪些: 1.服务端控制缓存 如volley请求库,便是通过服务端的“Cache-Control”和“max-age”来告诉客户端有没有缓存以及缓存的时间,也是推荐的使用…
Cardinal 是一个适用于移动项目的 CSS 框架,包含很多有用的默认样式.矢量字体.可重用的模块以及一个简单的响应式模块系统.Cardinal 提供了一种在多种移动设备上实现可伸缩的字体和布局的新方法,值得关注. 您可能感兴趣的相关文章 Web 前沿技术:展示一组极其绚丽的 CSS3 效果 CSS Beautify – 方便的在线 CSS 代码美化工具 -prefix-free:帮你从 CSS 前缀的地狱中解脱出来 Codrops 教程:基于 CSS3 的全屏网页过渡特效 Codrops…
总结记录/朱季谦 最近买了一台4核16的腾讯云轻量应用服务器,花了我快四百的大洋,打算搭建一堆docker组件集群,最先开始是通过docker搭建redis集群,计划使用三个端口,分别是7001,7002,7003. 腾讯云服务器有防火墙限制,故而需要在控制面板的防火墙开放这六个端口-- 注意,为什么开放了7001,7002,7003,还需要开放它们对应的总线端口17001,17002,17003呢?因为这是它们集群心跳连接的端口,若不开放,将在对各启动容器节点创建集群时,会创建集群分配槽时失败…
概要 组件交互基础,即考虑在JQUERY对象下($)下扩展所有组件都需要用到的通用api,如ajax入口.对表单的操作.html片段加载.通用的配合datagrid通用的curd客户端对象等. 扩展api如下 一.ajax设计 (1)统一ajax请求的流程预计数据返回格式.ajax请求的数据返回格式如下: { code:0/1, //0 表示正确运行,并返回了信息.数据:1表示非正确返回结果(可能是程序异常或者运算结果异常),异常信息放到message属性中 message:"服务端提示的信息&…
Solon 是一个微型的Java开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Micro service.WebSocket.Socket 等多种开发模式. Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套件清单,感觉受与 Spr…
Solon 是一个微型的Java开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Micro service.WebSocket.Socket 等多种开发模式. Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套件清单,感觉受与 Spr…
http://blog.csdn.net/jacman/article/details/49098819 目录(?)[+] Flask安装 Python开发工具EclipsePyDev准备 Flask项目框架搭建 MVC模式实例开发 登录实例   Python语言近些年越来越火,其特点是开发迅速,语法简单,可移植等.本人就Python3基础语法写了Demo:https://github.com/tangthis/python3_demo,可以当作基础教程和手册查阅. Python Web开发框架…
Rpc原理详解 博客上已经有人解释的很详细了,我就不在解释了.传送门 项目简介 项目是依赖于.net core2.0版本,内部都是依靠IOC来实现的,方便做自定义扩展.底层的通信是采用socket,sokcet的代码参考Enode的socket代码.类的序列化目前只支持自带的BinarySerializer和Json.net,也可以自定义,扩展也很方便.也支持zookeeper的服务协调. 框架传输及序列化逻辑 当客户端发起请求时,根据建立的客户端代理,获取当前的请求方法信息(名字.所属类型.参…
Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Socket 等多种开发模式. Solon 强调:克制 + 简洁 + 开放的原则:力求:更小.更快.更自由的体验. 项目地址: https://gitee.com/noear/solon 所谓更小: 内核0.1m,最小开发单位0.2m(相比Dubbo.Sprin…
Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Socket 等多种开发模式. Solon 强调:克制 + 简洁 + 开放的原则:力求:更小.更快.更自由的体验. 替代?那有什么异同之处? <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon 的架构笔记> 所谓更小…
Solon 是一个微型的Java开发框架.项目2018年启动,参考过大量前人作品:内核0.1m的身材,超高的跑分,以及良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Socket 等多种开发模式. Solon 强调:克制 + 简洁 + 开放的原则:力求:更小.更快.更自由的体验. 替代?那有什么异同之处? <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon 的架构笔记> 所谓更小: 内核0.1m,最小的接口开发单位0.2m…
Solon 是一个微型的Java开发框架.项目2018年启动,参考过大量前人作品:内核0.1m的身材,超高的跑分,以及良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Socket 等多种开发模式. Solon 强调:克制 + 简洁 + 开放的原则:力求:更小.更快.更自由的体验. 替代?那有什么异同之处? <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon 的架构笔记> 所谓更小: 内核0.1m,最小的接口开发单位0.2m…
本文对于初学网络编程的极为友好,文中所有代码全部基于C语言实现,文中见解仅限于作者对于完成端口的初步认识,由于作者才疏学浅,出现的错误和纰漏,麻烦您一定要指出来,咱们共同进步.谢谢!!! 完成端口(completion Port) 前言: 网络通信分为两种:同步和异步. 在同步通信中,每一次接受数据都会导致主线程的挂起,从而阻塞住了其他操作.为了解决这一问题,我们通常会采取同步通信+多线程的策略,即为每一个连入的Socket分配一个线程.然而随着连入的Socket的数量的增加,线程的数量也在增加…
经常看到很多同学在打算使用go做开发的时候会问用什么http框架比较好.其实go的 http package 非常强大,对于一般的 http rest api 开发,完全可以不用框架就可以实现想要的功能. 我们开始尝试用不到100行代码定制出基本的功能框架. 首先思考下基本功能需求: 输出访问日子,需要知道: Method status code url 响应消耗时间 response content-length 错误捕获,当http请求出现异常时捕获错误,返回异常信息 以上是几个基本需求,未…
1.使用pip安装Python包 大多数Python包都使用pip实用工具安装,使用pyvenv创建的虚拟环境会自动安装pip. 1.使用pip安装Flask(其它Python包同理) pip install flask 2.一个简单的Demo from flask import Flask from flask import abort from flask import redirect app = Flask(__name__) @app.route('/') def index(): r…
Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Socket 等多种开发模式. Solon 强调:克制 + 简洁 + 开放的原则:力求:更小.更快.更自由的体验. 所谓更小: 内核0.1m,最小开发单位0.2m(相比Dubbo.Springboot项目包,小到可以乎略不计) 所谓更快: 本机helloworl…
Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Socket 等多种开发模式. Solon 强调:克制 + 简洁 + 开放的原则:力求:更小.更快.更自由的体验. 所谓更小: 内核0.1m,最小开发单位0.2m(相比Dubbo.Springboot项目包,小到可以乎略不计) 所谓更快: 本机helloworl…
Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Socket 等多种开发模式. Solon 强调:克制 + 简洁 + 开放的原则:力求:更小.更快.更自由的体验. 替代?那有什么异同之处? <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon 的架构笔记> 所谓更小…
Solon 是一个微型的Java开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Micro service.WebSocket.Socket 等多种开发模式. Solon Cloud 是一系列的接口标准和配置规范.是 Solon 的微服务模式开发套件方案. 替代?还能说些什么异同之处吗? <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套件清单与快速概览&…
Solon 是一个微型的Java开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Micro service.WebSocket.Socket 等多种开发模式. Solon Cloud 是一系列的接口标准和配置规范.是 Solon 的分布式开发套件方案. 替代?还能说些什么异同之处吗? <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套件清单与快速概览>…
简洁的web框架Bottle 简介 Bottle是一个非常简洁,轻量web框架,与django形成鲜明的对比,它只由一个单文件组成,文件总共只有3700多行代码,依赖只有python标准库.但是麻雀虽小五脏俱全,基本的功能都有实现,很适合做一些小的web应用 开始使用 首先使用pip install bottle安装然后是一个官方文档中的例子: from bottle import route, run @route('/hello') def hello(): return "Hello Wo…
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebSocket.Socket 等多种开发模式. Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套件清单,感觉…
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebSocket.Socket 等多种开发模式.短小而精悍! Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套…