服务器开发
文西
过得太舒服,就是不自在的人
展开
-
互联网大厂的后端技术栈
最近公司招聘海外后端研发,所以整理一份技术栈的资料给他们,但是想来这份整理也适用于所有后端研发,所以去掉了敏感内容,把它呈现于此,本文重在概述,毕竟篇幅有限,欢迎【关注】https://www.zhihu.com/people/wenxi.zhang,后续可能把单点拓展成文,详细地一一阐述,另外笔者见识有限,毕竟也没有可能在所有大厂工作过,所以如果有疏漏可以在留言处赐教目录后端开发概述...原创 2020-02-22 10:28:04 · 3745 阅读 · 1 评论 -
Spring Cloud + Kubernetes 微服务框架原理和实践
早在半年前,公司开始推行容器化部署方案 AppOS,虽然发布界面过于极客,十分晦涩,不过仔细研究起来真的觉得十分强大,容器化推行后,计算资源(CPU、内存)的利用率可以极大提高,降低服务器数量,从而节约技术成本。恰巧,若干个朋友所在创业公司最近也在尝试做微服务、容器化。架构上摒弃 SOA 的 dubbo,加入Spring Cloud阵营;部署方案上从过去的云服务器直接部署,升级到基于Kuberne原创 2017-12-06 16:08:39 · 18892 阅读 · 4 评论 -
基于Elastic Search的搜索广告召回方案
如果你对搜索广告,竞价排序,或者Elastic Search技术感兴趣,读读这篇文章或许多少能有所收获。作者不是计算广告领域的专家,如果作为读者的你是这个方面的专家发现本文浅薄,希望留下你宝贵的意见。因为ES版本升级很快,很多功能支持程度也伴随版本的升级而改变,本文内容基于Elastic Search 5.4.1实现。什么是搜索广告举个最常见的例子,当我们在淘宝上购物搜索时候,例如输入“猫粮”在搜原创 2017-08-09 08:23:22 · 9021 阅读 · 0 评论 -
深入理解Java SOA 架构Dubbo系列—— 第二回 搭建dubbo-demo环境
本文目的阶段一 基于本地调用的微服务框架阶段二 基于Zookeeper注册中心的微服务框架相关资料基于本地调用的dubbo微服务代码框架基于注册中心的dubbo微服务代码框架本文目的一旦提到某某架构,可能很多人的第一感觉就是:这个东西很复杂,很难实际操作。其实不然,只要获得对的资料,搭建自己对微服务框架并不是一件难事,不过由于历史原因,很多资料过于老旧,引用的文档也已经被废弃,所以从零搭原创 2016-09-14 13:26:16 · 7142 阅读 · 7 评论 -
面试归来——梳理社招面试以及浅述对程序员职业生涯的看法
原谅我是一个后知后觉的人,已经在新的岗位工作了两个月,才写这篇文章。 本文会先讲述博主一个月的面试经历,梳理一下技术面试,浅述关于程序员职业生涯的一些看法。从创业到再就业大概4个月以前,终止创业已经成为逃不开的事实。本来以为即使散伙,也会有比较充裕的时间找工作,所以并没有做过任何投递简历和面试。但是现实却紧张的多,实际留给我们的时间只有一个月。所以开始有些慌,毕竟太原创 2017-07-14 11:19:14 · 17425 阅读 · 52 评论 -
深入理解Java SOA 架构Dubbo系列—— 第一回 结缘
一年半以前,我在一家创业公司从事服务器端开发工作,虽然当时公司已经拿到了6000w的A轮融资,并且App已经有超过百万的日活,开发团队已经有10几个人。但是看一眼服务器的代码,却感觉和笔者本科时候做的“学生管理”系统没什么两样。所有的服务器代码,都在一个JavaWeb工程里,然后被打包成War,使用Tomcat部署。为了应对增长的活跃用户,使用Haproxy做了负载均衡,同样的war包会在5-10原创 2016-09-10 22:35:32 · 30857 阅读 · 12 评论 -
Spring AOP 概述
一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Obje转载 2017-04-07 08:02:05 · 1395 阅读 · 1 评论 -
RabbitMQ消息队列(五):Routing 消息路由[转]
上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity(严重程度)来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。1. Bindings绑定 上篇文章中我们是这么做的绑定:channel.QueueBind(queueName, EXCHANGE_NAME, ROUTING_KEY);//con转载 2017-03-18 09:08:24 · 1470 阅读 · 0 评论 -
RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)[转]
上篇文章中,我们把每个Message都是deliver(提供)到某个Consumer。在这篇文章中,我们将会将同一个Message deliver(提供)到多个Consumer中。这个模式也被成为 "publish / subscribe"。 这篇文章中,我们将创建一个日志系统,它包含两个部分:第一个部分是发出log(Producer),第二个部分接收到并打印(Consumer)。 我们转载 2017-03-18 09:07:00 · 1083 阅读 · 0 评论 -
RabbitMQ消息队列(三):任务分发机制[转]
在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。 当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机制来balance每个Consumer的load。接下来我们分布讲解。转载 2017-03-18 08:56:07 · 1099 阅读 · 0 评论 -
RabbitMQ消息队列(二):"Hello, World"[转]
2. Sending第一个program send.cs:发送Hello world 到queue。正如我们在上篇文章提到的,你程序的第9行就是建立连接,第12行就是创建channel,第14行创建名字为hello的queue。 1 using System; 2 using RabbitMQ.Client; 3 using System.Text; 4 5转载 2017-03-18 08:54:27 · 986 阅读 · 0 评论 -
RabbitMQ消息队列(一): Detailed Introduction 详细介绍[转]
1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere M转载 2017-03-18 08:44:59 · 1583 阅读 · 0 评论 -
商城系统中常见的逻辑陷阱和优化方案(1)
和金钱相关的系统,都很有挑战性,是因为在这里,一切都很严肃 ----by Someone you don't know 伴随着用户群积累,社区的壮大,还有来自投资人对变现渴望的压力,似乎最容易想到的变现途径就是“我们也卖点东西吧”,如果直接给淘宝链接,会显得逼格太低,购买别人的系统,钱不少花,最后为了适应自己的原创 2016-06-18 08:49:12 · 7869 阅读 · 1 评论