架构_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 架构 >>列表
想必大家都不是张无忌,人家三十年才可以练成的乾坤大挪移,张无忌大侠两个时辰就可以搞定,作为一个普通的程序员,经常遇到很多新技术和新知识,it界就是这样,日新月异,那么我们如何学习一门技术和新知识呢?下面是我粗浅的几点建议第一:精通一两门语言大家都听说过术业有专攻这个词,作为程序员一定要一个立身安命的技术,这个技术可以让你不失业,至少也能混口饭吃的就是需要精通一两门语言,对于你选择的这两门语言是你以后长期饭碗的保障,俗话说:老婆孩子奶粉钱全指望它了,所以对于这个技术,你花再多的时间学习都不可惜... 查看全文
· CODING 代码托管架构升级之路发布时间:2018-05-21
原文链接:blog.coding.net说起架构的话,稍微有点写程序经验的人来说,都可以理解架构对于整个服务的重要性。架构最核心的三个点就是:稳定性、扩展性、性能。一个好的架构主要通过这三点来看。会不会宕机,你的服务会不会因为自身或者第三方的原因突然之间中断。可拓展性,当你的访问量增长的时候,你的服务能不能迅速的Copy出很多个副本出来以适应快速增长的业务。再一个就是比如说你要做电商啊秒杀啊之类的功能的时候,能不能扛得住这种压力。这就是评价一个架构好坏的三个基本点。我们可以想想一下... 查看全文
程序员阶段大学毕业,被校招到一家小公司搬砖,大家常自嘲叫码农的阶段。这个角色职责是把需求或产品实现为用户可用的软件产品。此职位为执行级别。另外因为经验较少,一般需要求助别人,或与别人一起完(ban)成(zhuan)一个任务。此阶段我经历3年,总结出程序员的职责如下:1、负责公司运营系统的设计与开发工作2、运营数据处理和分析高级程序员阶段三年的开始时我遇到了一个瓶颈,按部就班的过了一年,技术,思想方面没有任何的提升,作为一个程序员,如果一年都没有进步是一件很恐怖的事情... 查看全文
这篇文章是关于什么的参与项目决策的人必须意识到他们的决定对项目的成功和成本以及时间和金钱的影响。对于我20多年的软件开发经验和10多年的咨询工作,我作为架构师或开发人员参与了许多项目-其中大多数成功,有些失败,但每个项目(无论成功与否)都涉及好的和不好的决策由各种人制作。本文的目的是通过提倡根据我的经验做出的决定以及避免错误的决策来为项目成功奠定基础。总的来说,我拥有C++,Java,C#和JavaScript的经验,但在过去的10年中,我一直主要致力于C#桌面应用程序。尽管如此... 查看全文
· 后端架构师必备技能发布时间:2018-05-07
http://blog.jeeqb.com/post/architect-awesome.html... 查看全文
引言本文给大家讲述的是我们如何去构建一个日志系统,用到了那些技术,为什么用这些技术,并且讲述了遇到的问题及优化的过程,希望给大家在实践中能够提供一些参考。最近在维护一个有关于日志的项目,这个项目是负责收集、处理、存储、查询京东卖家相关操作的日志,我们这里就叫它“卖家日志”。在日常的开发过程中,可能我们对日志这个词并不陌生,例如我们常接触到的log4j、slf4j等等,这些日志工具通常被我们用来记录代码运行的情况,当我们的系统出了问题时,我们可以通过查看日志及时的定位问题的所在... 查看全文
缓存一致性问题当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。缓存并发问题缓存过期后将尝试从后端数据库获取数据,这是一个看似合理的流程。但是,在高并发场景下,有可能多个请求并发的去从数据库获取数据,对后端数据库造成极大的冲击,甚至导致“雪崩”现象。此外,当某个缓存key在被更新时,同时也可能被大量请求在获取... 查看全文
本文改编自ChrisStetson发表在nginx.conf上的一个有关如今的微服务以及如何使用Nginx构建一个快速的、安全的网络系统的演讲,大家可以在YourTube上回看此次演讲。自我介绍ChrisStetson:Hi,我的名字是ChrisStetson,我在Nginx带领专业服务部门,同时也领导微服务实践。今天我们要谈论微服务以及如何使用Nginx构建一个快速的、安全的网络系统。在我们谈话的最后... 查看全文
前言成为优秀的架构师是大部分初中级工程师的阶段性目标。优秀的架构师往往具备七种核心能力:编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力和规划能力。这几种能力之间的关系大概如下图。编程能力、调试能力和编译部署能力属于最基础的能力。不能精通掌握这三种能力,很难在性能优化能力和业务架构能力方面有所成就。具备了一定的性能优化能力和业务架构能力之后,才能在线运维能力和项目管理能力方面表现优越。团队管理能力是最高能力,它对项目管理能力的依赖度更大。基本知识1... 查看全文
写在开篇:不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说“每天都有执行不完的测试用例”,运维说“扛机器接网线敲shell命令,这不是我想要的运维人生”提升技术的误区:有人认为想成为技术大牛最简单直接... 查看全文
前言:最近有好多人问我说:“George,怎样才能成为公司里的前线主力架构师,我现在在公式已经干了快五年了,现在还是一个默默无闻的程序员,我也通过很多种渠道来突破我现在瓶疾,但就是走不出来,技术也一直没有突破上去,我真的是没有办法了,通过朋友推荐介绍,说您这里可以解决我的技术瓶疾,所以我想请你帮我突破一下技术方面上的瓶疾。”你们是否有也有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,我和我之前一起共事的朋友,一起探讨出了这么一个结论... 查看全文
01刚当程序员时,我是属于那种勤勤恳恳类型的员工,工作态度用认真来形容不为过,每天我几乎是团队里最早到公司,又最晚下班的一个。而组员张工一般情况下都是准时上下班的,即使项目进度比较紧急,他也很少加班,除非是有特殊情况,他才加班。要是按勤奋程度和工作时间长短来衡量,我想我比张工积极多了。按理说,我这么积极,工作量应该比张工多才对,其实不然,领导安排给我的工作任务和张工的任务相比,我比他还要少。张工之前是做java服务端的,后来自学了Android移动开发,再后来又自学了iOS移动开发... 查看全文
假如你正在运行的微服务少于100,那么你或许可以规避这些问题,但如果将服务扩展到任意更大的量级,这将带来其自有的问题,为了使系统高效运行,你需要解决它们。1:组织性孤立和蔓延Conway法则的反模式表明,公司的组织结构能够映射其软件架构。Fowler-Rigetti称,一家向微服务迁移的公司经常以产生几个孤立的微服务团队告终。另外,由于没有人知道其他团队正在做什么,以及最佳实践无法分享,最终导致技术无方向蔓延。“微服务开发者和开发者团队就如同微服务一样”,Fowler-Rigetti说... 查看全文
作为一名JAVA程序员,你知道技术架构是如何演进的吗?网站技术架构为什么会演进我个人总结出来我们的技术架构演进的两种驱动力,驱动着我们为什么演进网站的技术架构:1.内在驱动力:我们期望把当前的业务做得更好,开发更多新业务2.外在驱动力:用户量的上升、用户种类的多样化这两种驱动力不是独立的,更多时候是并行的。我想淘宝就是两种驱动力并行驱动的结果。演进的原因很简单。但是在什么时机我们就应该演进网站的技术架构了,以及如何演进?面对这些问题,说实话,我没有任何经验... 查看全文
· 如何拆分你的微服务架构?发布时间:2018-03-18
如今,市场环境纷繁复杂,瞬息万变,现代企业为了更好地生存,需要有极强的适应能力。快速而轻松地迎接改变,成为了一个优质企业的特征之一,同时企业还要求技术团队构建更科学的架构,搭建成本更低的平台,这就使得这些团队越来越倾向于使用微服务架构来应对以上要求。微服务的做法有利于软件组件和数据的分散化,将一个整体分解成更小、更容易改变的部分,分散仅帮助团队加快工程进度,而不会牺牲系统的安全性。要想让这种架构工作得很好,需要改变工作方式。微服务架构的设计,其实是为了使团队能够在执行工作的人之间分配决策权力... 查看全文
一、源码分析源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦):1、只关注项目本身,不懂就baidu一下。2、除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。3、除了阅读和项目相关的书外,还会阅读IT行业的书,比如学Java时,还会去了解函数语言,如LISP。4... 查看全文
· 微服务开发中的数据架构设计发布时间:2018-03-18
本文来自作者陈伟荣在GitChat分享【微服务开发中的数据架构设计】前言微服务是当前非常流行的技术框架,通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性。为业务创新和业务持续提供了一个良好的基础平台。本文分享在这种技术架构下的数据架构的设计思想以及设计要点,本文包括下面若干内容。微服务技术框架中的多层数据架构设计数据架构设计中的要点要点1:数据易用性要点2:主、副数据及数据解耦要点3:分库分表要点4:多源数据适配要点5... 查看全文
· 技术架构演进过程中的思考点发布时间:2018-03-17
网站技术架构为什么会演进我个人总结出来我们的技术架构演进的两种驱动力,驱动着我们为什么演进网站的技术架构:1.内在驱动力:我们期望把当前的业务做得更好,开发更多新业务2.外在驱动力:用户量的上升、用户种类的多样化这两种驱动力不是独立的,更多时候是并行的。我想淘宝就是两种驱动力并行驱动的结果。演进的原因很简单。但是在什么时机我们就应该演进网站的技术架构了,以及如何演进?面对这些问题,说实话,我没有任何经验,再说现实中每家企业当时都面临的问题都不一样,所以,我很难从经验中总结出什么是演进的时机... 查看全文
SpringCloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,本篇主要解答这两个问题:SpringCloud在微服务的架构中都做了哪些事情?SpringCloud提供的这些功能对微服务的架构提供了怎样的便利?传统架构发展史单体架构单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个Web容器就可以跑起来,比如我们开发的开源软件云收藏,就是标准的单体架构。在两种情况下可能会选择单体架构:一是在企业发展的初期,为了保证快速上线,采用此种方案较为简单灵活... 查看全文
关注作者的微信公众号:“Java架构师学习”一个只分享Java架构干货的公众号本文你将学到什么?本文将以原理+实战的方式,首先对“微服务”相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统。这套微服务框架能干啥?这套系统搭建完之后,那可就厉害了:微服务架构。你的整个应用程序将会被拆分成一个个功能独立的子系统,独立运行,系统与系统之间通过RPC接口通信。这样这些系统之间的耦合度大大降低,你的系统将非常容易扩展,团队协作效率提升了N个档次... 查看全文