[京东技术]声明:本文转载自微信公众号“开涛的博客”,转载务必声明. 作者:章耿,原京东资深架构师,曾负责京东服务框架,配置中心等基础平台.近十年工作经验,专注于基础中间件等底层技术架构,对分布式系统/服务化/DevOps建设有一定经验. |前言 首先本文不讨论为什么要服务化,包括服务化的优点缺点. 其次本文也不讨论什么是微服务,也不讨论微服务和SOA的区别. 最后本文也不讨论哪个技术最优. |服务化框架构成最基本的服务框架 基本的服务化框架包括如下模块:统一的RPC框架,服务注册中心,管理平台…
你很喜欢Gmail和Trello之类的单页面应用,但是不太确定该从何开始.也许你的JavaScript代码是如此的杂乱无章,以致于你很想在下一个项目上尝试下JavaScript MVC库和框架,却苦于没有头绪?我正在撰写一本单页面应用的书,所以我阅读了大量网上的相关资料.在这里我尝试提供一些看法,希望可以帮助你下决定. 简介 这里讨论的是时下最热的框架,AngularJS.Backbone.Ember和Knockout.同时提到了Batman.CANjs.Meteor和Spine,但是没有详细展…
个人认为爬虫框架分抓取框架和分析框架 1)抓取框架 .net 市面上好的似乎不多,选择要素分两种:1.轻量型,2.重量型. 1. 轻量型是可以定制一些特殊的功能或者插件开关形式.总体性能高,速度快. 自己写的webclient,httprequest,httpclient等.或者直接socket编写! 2. 重量型是可以基本模式浏览器,更加傻瓜化,也基本屏蔽了一些反爬虫机制. 如webbrower或者其他的webkit浏览器内核封装的.net框架. 抓取的特殊功能包括:cookie支持(默认),…
05.产品前端架构 第1章--协作流程 WEB系统 角色定义 协作流程 职责说明 第2章--接口设计 概述 接口规范 规范应用 本地开发 第3章--版本管理 见 Java开发工程师(Web方向) - 01.Java Web开发入门 - 第5章.Git 课堂交流区: 分布式版本控制(DVCS) 对比集中式版本控制系统(CVCS) 由于Git的持续火热, 对于DVCS与CVCS的争论和对比越来越多了, 似乎很多文章都倾向于这个观点:"Git这种DVCS 要比SVN这些CVCS要优越"  实…
(#)背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键. 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率. 此时,用于加速前端页面开发的 Web框架(MVC) 是关键.…
本篇承接上篇内容,如果你不小心点击进来,建议从第一篇开始完整阅读,文章内容继承性连贯性. 构建NetCore应用框架之实战篇系列 一.BitAdminCore框架1.0版本 1.1.0版本是指最小版本,它具备框架所有的必要功能,功能前篇已经介绍. 2.与文章相匹配,我会在GitHub上建立一个项目,以分支的形式保存每篇文章所处阶段的源码.进入GitHub 二.登录功能 1.策划我们需要的功能,按照软件的基本原则是很能用,再扩展. 2.登录功能最基本的是账号.密码.验证码登录. 3.登录后进入首页…
大家好,之前写(shui)了两篇其他类型的文章,感觉大家反响不是很好,于是我乖乖的回来更新硬核技术文了. 经过本系列前两篇文章我们了解到日志框架大战随着 SLF4j 的一统天下而落下帷幕,但 SLF4j 仅仅是接口,实现方面, logback 与 log4j2 仍然难分高下,今天我们就来聊一聊,日志框架实现到底是该选择 Log4j2 还是 Logback.这篇文章我们将从功能.API 设计.可扩展性.性能四个方面展开讨论. 生态 老牌的 Log4j2 凭借着入场早.背靠 Apache 两大优势有…
1.前言 Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔-- 虽然,Kubernetes很火,并不代表可以"上手即用",基于 Kubernetes的容器编排也不是简单的"拿来主义".在容器圈,除了Kubernetes,还存在着 Mesos.Swarm等分属不同阵营的容器集群管理工具,以及基于这些工具的多个容器云提供商. 腾讯云在 2016年底决定开发…
王者荣耀 去年我有幸被老领导邀请以系统架构师的岗位带技术团队,并对公司项目以微服务进行了实施.无论是技术团队还是技术架构都是由我亲自的从0到1的选型与招聘成型的,此过程让我受益良多,因此也希望在接下来的系列博文尽可能的与大家分享我的经验. 古人有云:将军难打无兵之仗.想要把微服务很好的实施也并非能一个人可以完成的事,一来需要有出色的运维提供支持,二来需要花时间做技术选型与攻关,三来还要开发兄弟们配合实施.因此,这次能顺利实施并不是一个人的王者,而是团队的荣耀. 框架源码:https://gith…
JS爆炸下的技术选型  刘尚奇    ThoughtWorks, 高级咨询师 JS每6个星期出现一个新框架,那么如何进行JS的选型.以下从四个方面来分析. 1.工具 NPM for all the things   用来管理项目依赖就足够了. Webpack    除了资源的loader,还可以做编译构建等. 很多时候只是用NPM +Webpack就足够对前端工程进行构建,打包,压缩等,不用再去引入像Gulp.Grunt这样的工具. 2.类库 react,官方更愿意是一个类库,是mvc中V的部分…
原文:http://blog.csdn.net/yeyincai/article/details/51470475 -.背景 谈论服务化框架的时候,我们首先先了解这些概念:SOA.ESB.OSGi.servicemix.微服务.Spring Boot SOA:面向服务架构,传统简单的网站系统采用MVC架构,随着系统需求不断的变化和业务不断的扩展,MVC显得很无力,MVC不断的变大,维护开发越来越困难,SOA解决的是MVC里面大而核心的功能,抽离出来做成服务提供给不断变化的业务使用.SOA提出多年…
消息中间件的技术选型心得-RabbitMQ.ActiveMQ和ZeroMQ 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs RabbitMQ.ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼.下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了. RabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构,意味着消息在发送到客户端之前可以在中央节点上排队.此特性…
前言:这篇文章是笔者在项目中对布局技术进行技术选型和应用的相关介绍,供大家参考. && [self.buttonscount] > 0) { UIButton *button = self.buttons[0]; [button autoPinEdgesToSuperviewEdges]; } else { [self.buttonsautoMatchViewsDimension:ALDimensionWidth]; [[self.buttonsfirstObject] autoPi…
原文作者:mcgrady 原文地址:.net项目技术选型总结 做.net开发已经几年了,也参与开发了很多大大小小的项目,所以现在希望总结出一套开发.net项目的常用技术,也为以后做项目技术选型的时候作为参考. 数据库 小型项目:SQLite 中大型项目:MS SQL Server(国内) / Mysql(国外) 数据访问技术 SqlHelper(ADO.NET) 轻型ORM:Dapper / PetaPoco 大型ORM:EF / NHibernet 服务端技术 ASP.NET MVC WCF…
试水 一直想去搭建个自己的个人博客,苦于自己的技术有限,然后也个人也比较懒散.想动而不能动,想动而懒得动,就这么一直拖到了现在.总觉得应该把这几年来的所学总结一番,这样才能有所成长. 不知在何时,那就在此时 写文章,一直不是自己拿手的活,以前不是,现在也不是.害怕表达上有所欠缺,耽搁了来到这个博客的网友.也有这个因素的影响,导致博客迟迟没有没有更新.后来想想,写博客是为了记录自己的成长,总结自己所学所得,不需要那么得能言善辩,只需使用尽可能简洁的话把想说的表达出来就可以了.耽搁至此,不知在何时,…
技术选型和整合开发环境 1.技术选型 博客网站是基于SpringBoot整合其它模块而开发的,那么每个模块选择的技术如下: SpringBoot版本选择目前较新的2.1.1.RELEASE版本 持久化框架选择Mybatis 页面模板引擎选择Freemarker 前台框架选择Bootstrap 后台框架选择AdminLTE 数据库选择Mysql 数据库版本管理选择Flyway 技术选型概览图,如下: 2.代码分包 首先确定本工程为sw-blog(即:守望博客),基础包名为: com.swnote…
前言 最近公司要求基于公司的hadoop平台做一个关于电信移动网络的数据分析平台,整个项目需求大体分为四大功能模块:数据挖掘分析.报表数据查询.GIS地理化展示.任务监控管理.由于页面功能较复杂,所以采用前后端分离方式开发.前端采用webpack+vue+vue-router+axios技术栈,后端用django进行开发.从搭建到上线,整个项目前前后后花了差不多一个月时间,中途也遇到一些问题,不过还好都解决了.由于是个人项目,所以我打算把源码贡献出来大家一起讨论学习. 源代码 后端:https:…
作者:13GitHub:https://github.com/ZHENFENG13版权声明:本文为原创文章,未经允许不得转载. 萌芽阶段 很久之前就开始打算整理一下自己的技术博客了,由于各种原因(借口总是可以找到的),实在抽不出时间所以计划一直处于搁置状态,一直只是心底的一颗小萌芽,日复一日的悠悠岁月如同手中紧抓的沙子,无声无息的流失,不过这颗小生命也在我渴望与期待的浇灌下不断的长大. 文章本天成,妙手偶得之 最近项目进度渐渐缓了下来,不那么忙了,因此开始筹备自己的博客,说到这次博客的主角,也是…
做.net开发已经几年了,也参与开发了很多大大小小的项目,所以现在希望总结出一套开发.net项目的常用技术,也为以后做项目技术选型的时候作为参考. 数据库 小型项目:SQLite(工具) 中大型项目:MS SQL Server(国内) / Mysql(国外) 数据访问技术 SqlHelper(ADO.NET) 轻型ORM:Dapper / PetaPoco 大型ORM:EF / NHibernet 服务端技术 ASP.NET MVC WCF ASP.NET WebAPI 前端技术 JavaScr…
Atitit xml框架类库选型 attilax总结 1. 1. XML类库可以分成2大类.标准的.这些类库通常接口和实现都是分开的1 2. Jdom 和dom4j1 2.1. 5.1. jdom1 2.2. 5.2. dom4j2 2.3. 上手度比较  jdom更加简洁些..命名空间支持,dom4j更好..Jdom读取不到..2 2.3.1. Jdom范例2 2.3.2. D:\0workspace\atiplat_restapi\src\aaaPKg\dom4jReader.java3 3…
转载:https://juejin.im/post/58cab85b44d9040069f38f7a "Come, and take choice of all my library, And so beguile thy sorrow." —— William Shakespeare, Titus Andronicus 为项目进行框架级别的技术选型,就类似为篮球队量身定制战术,选择一个适合开发团队的规模和团队成员的技术栈和能力,针对业务和项目,能帮助团队赢得更多的技术,是每个软件项目…
PHP与J2EE的对比 网上有很多关于PHP与J2EE之间的对比,细观无非以下几点: 1.语言特征 PHP为脚本语言,解释型语言,弱类型,专为Web开发打造.Java为C语言系编程语言,编译型,强类型,有跨平台的特征.从语法简洁性来说,PHP比Java简洁,毕竟PHP诞生比Java晚,同样的逻辑在PHP中表达起来会简洁于Java,这一特性导致同样熟练度的PHPer与Javaer相比PHPer编程速度要快于Javaer.在这里我要强调的是同一熟练度,这个概念很重要,在没有前提假定的情况下比较两种编…
我们接着关于爬虫平台的架构实现和框架的选型(一)继续来讲爬虫框架的架构实现和狂阶的选型. 前面介绍了scrapy的基本操作,下面介绍下scrapy爬虫的内部实现架构如下图 1.Spiders(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器) 2.Engine(引擎):负责Spider.ItemPipeline.Downloader.Scheduler中间的通讯,信号.数据传递等. 3.Sc…
作者介绍:李旸,美团点评前端工程师,3 年 Web 前端开发经验,现在是美团点评点餐团队的一员. "Come, and take choice of all my library, And so beguile thy sorrow." -- William Shakespeare, Titus Andronicus 为项目进行框架级别的技术选型,就类似为篮球队量身定制战术,选择一个适合开发团队的规模和团队成员的技术栈和能力,针对业务和项目,能帮助团队赢得更多的技术,是每个软件项目能够…
1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市面上种类众多.各有所长的MQ消息中件间产品,该怎么去选择?这是个问题! 对于很多经验不足的开发者来说,一个公司内部用的IM聊天系统,总用户量也不过百十来人,动辄就是Kafka.MongoDB,美其名曰为了高性能和可扩展性,真是大炮打蚊子.而对于中大型的即时通讯场景来说,有的开发者确为了贪图使用简单.…
文 | 陈肃 DataPipeline  CTO 随着企业应用复杂性的上升和微服务架构的流行,数据正变得越来越以应用为中心. 服务之间仅在必要时以接口或者消息队列方式进行数据交互,从而避免了构建单一数据库集群来支撑不断增长的业务需要.以应用为中心的数据持久化架构,在带来可伸缩性好处的同时,也给数据的融合计算带来了障碍. 由于数据散落在不同的数据库.消息队列.文件系统中,计算平台如果直接访问这些数据,会遇到可访问性和数据传输延迟等问题.在一些场景下,计算平台直接访问应用系统数据库会对系统吞吐造成显…
技术选型之Docker容器引擎 https://segmentfault.com/a/1190000019462392 图过不来的 原作者写的挺好的 题外话 最近对Docker和Kubernetes进行了一番学习,前两天做了一次技术分享,回去听了一遍自己演讲的录音,发现单单PPT做好还是远远不够的,没有提前准备好逻辑严谨的讲稿,在讲的时候出现了卡壳.漏掉技术点.逻辑矛盾的问题.为了解决这个问题,我打算以后在做技术分享前,都按着PPT的内容先写成博客,理顺表达逻辑.另外,我觉得每次技术分享使用的P…
react 前端项目技术选型.开发工具.周边生态 声明:这不是一篇介绍 React 基础知识的文章,需要熟悉 React 相关知识 主架构:react, react-router, redux, redux-thunk, redux-saga, react-redux, dva, umi 扩展架构:styled-components, recompose, react-loadable UI 框架:ant-design, ant-design-mobile, material-ui, Seman…
开发一个大型Electron的应用,或许需要在客户端存储大量的数据,比如聊天应用或邮件客户端 可选的客户端数据库方案看似很多,但一一对比下来,最优解只有一个 接下来我们就一起来经历一下这个技术选型的过程: 排除:把数据以Json的形式存储在文件中 以这种方式存储一些用户的配置信息是完全没问题的(用户名.家庭住址.是否开启免打扰模式等) 但要用这种方式存储大量解构化的数据,就非常不科学了 主要原因是: 用这种方案操作数据是需要把文件中的所有数据都加载到客户端电脑的内存中去的 由于没有索引机制,关联…
1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎不够系统,所以萌生了从零搭建一个后端脚手架的想法.并把这个过程中的细节思路和之前的一些文章结合起来展现给大家,希望能够实实在在帮助学习Spring Boot的同学,当然能力有限如果有不足之处还请多多指教. 2. 面向的群体 首先,这个定位不是完全没有接触过Spring Boot的初学者,因为Spri…