架构
文章平均质量分 81
java老司机
这个作者很懒,什么都没留下…
展开
-
震惊!阿里高级架构师告诉你到底什么是微服务
从谷歌的搜索指数来看,微服务的热度在进入 2017 年后突然爆发,国内各大会议和论坛的相关讨论也如雨后春笋般层出不穷,各大一线互联网公司也纷纷将这一技术引入并在实际业务中落地。然而据我所知,国内不少中小规模的技术团队对微服务的概念都不甚了解,对该不该引入微服务也不置可否。还有一些技术团队,没有考虑实际业务场景,只是为了追求技术热点,盲目引入微服务,但又缺乏相应的技术掌控能力,最后影响了业务的稳定...原创 2018-12-21 21:28:43 · 329 阅读 · 0 评论 -
微服务架构下静态数据通用缓存机制
在分布式系统中,特别是最近很火的微服务架构下,有没有或者能不能总结出一个业务静态数据的通用缓存处理机制或方案,这篇文章将结合一些实际的研发经验,尝试理清其中存在的关键问题以及探寻通用的解决之道。什么是静态数据这里静态数据是指不经常发生变化或者变化频率比较低的数据,比如车型库、用户基本信息、车辆基本信息等,车型库这种可能每个月会更新一次,用户和车辆基本信息的变化来源于用户注册、修改,这个操作...原创 2019-02-27 16:34:04 · 179 阅读 · 0 评论 -
为什么我们做分布式使用Redis?
绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对** Redis 常见问题做一个总结,解决大家的知识盲点。**1、为什么使用 Redis在项目中使用 Redis,主要考虑两个角度:性能和并发。如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一定要...原创 2019-02-27 16:35:18 · 143 阅读 · 0 评论 -
JVM-----java内存区域与java内存模型
一.java内存区域jvm在执行java程序的过程中会把所管理的内存分为若干不同的区域,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁的。以下是java运行时内存区域图:1.程序计数器程序计数器是一块较小的区域,它可以看做是当前所执行的字节码的行号指示器。在java的多线程交互执行的过程中,被中断的线程当前执行到那条指令的内存地址需要被保存...原创 2019-02-25 17:59:30 · 178 阅读 · 1 评论 -
为什么Java大神,都在看Spring Boot和Spring Cloud的书?
如果你是一名Java开发人员,并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的书籍,那么,你今天就来对地方了。本文,我们将讨论一些学习Spring Boot和Spring Cloud的最佳书籍,在这之前,我们先来探讨一下,什么是微服务架构以及Spring Boot和Spring Cloud如何帮助开发Java中的微服务。微服务的基本思想在于考...原创 2019-02-25 20:18:04 · 220 阅读 · 1 评论 -
漫话:如何给女朋友解释什么是反向代理?
周末,我正在网上搜索简历,准备给团队招聘新人。这时候,女朋友回来了,看起来并不是很高兴。反向代理(reverse proxy):是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 正向代理正向代理(fo...原创 2019-02-26 15:01:19 · 162 阅读 · 0 评论 -
Java程序员应该知道的20个有用的库
一个优秀且经验丰富的Java开发人员的特点之一是对API的广泛了解,包括JDK和第三方库。我花了很多时间学习API,特别是在阅读Effective Java 3rd Edition之后,Joshua Bloch建议如何使用现有的API进行开发,而不是为常用的东西写新的代码。在本文中,我将分享一些Java开发人员应该熟悉的最有用和最重要的库和API。但是,我没有包含框架,例如Spring和Hib...转载 2019-02-26 15:33:04 · 246 阅读 · 0 评论 -
【offer去哪了】我一连面试了十个Java岗,统统石沉大海!
首先给大家说一个我经常观察到的一些同学投递简历和找工作的误区。XX同学留言跟我说,我刚刚收到阿里的HR的面试邀约,我去试试怎么样?我感觉自己准备的差不多了,我想去投一下美团和滴滴,去试试能不能直接进大公司?一般来说,上来问我这种问题的同学,90%都没太好的面试结果。为什么呢?原因很简单,你为面试做了充足的准备,但是实际一旦开始面试起来还是会碰到你之前没遇到过的问题。在这里希望大...原创 2019-02-26 17:47:09 · 260 阅读 · 1 评论 -
必看!微服务的4个设计原则和19个解决方案
微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活、更能适应现在需求快速变更的大环境。本文将介绍微服务架构的演进、优缺点和微服务应用的设计原则,然后着重介绍作为一个“微服务应用平台”需要提供哪些能力、解决哪些问题才能更好的支撑企业应用架构。微服务平台也是我目前正在参与的,还在研发过程中的平台产品,平台是以SpringCloud为基础...原创 2019-02-22 21:56:02 · 262 阅读 · 0 评论 -
Java架构师面试题全集:Java基础+技术框架+系统架构+分布式系统
基础题目Java线程的状态进程和线程的区别,进程间如何通讯,线程间如何通讯HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别Cookie和Session的区别索引有什么用?如何建索引?ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。equals方法...原创 2019-02-22 16:19:19 · 171 阅读 · 0 评论 -
阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其所以然。把知识变成自己的2.分布式架构 互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何去应对技术变革带来的技能危机。基于传统架构到分布式架构演变过程所带来的技术变革进...原创 2019-02-21 22:08:30 · 128 阅读 · 0 评论 -
震惊!从事开发十五年工作经验的架构师告诉你,如何理解从单体应用走向服务化
专栏上一期,我给你讲述了什么是微服务,以及微服务架构的由来。简单回顾一下,微服务就是将庞杂臃肿的单体应用拆分成细粒度的服务,独立部署,并交给各个中小团队来负责开发、测试、上线和运维整个生命周期。那么到底什么时候应该拆分单体应用?拆分单体应用有哪些标准可依呢?为了解答这两个问题,今天我将通过具体案例来阐述,希望你能够学会单体应用拆分成微服务的正确姿势。什么时候进行服务化拆分?从我所经历过的...原创 2018-12-21 21:36:16 · 1031 阅读 · 0 评论 -
腾讯高级架构师教你,初探微服务架构!
我想你一定很好奇微服务架构到底是什么样子的,接下来我们一起走进微服务架构,来看看它的各个组成部分。下面这张图是我根据自己的经验,绘制的微服务架构的模块图,在具体介绍之前先来看下一次正常的服务调用的流程。首先服务提供者(就是提供服务的一方)按照一定格式的服务描述,向注册中心注册服务,声明自己能够提供哪些服务以及服务的地址是什么,完成服务发布。接下来服务消费者(就是调用服务的一方)请求注册中...原创 2018-12-24 20:39:28 · 306 阅读 · 0 评论 -
行业资深大牛教你如何发布和引用服务?
从这期开始,我将陆续给你讲解微服务各个基本组件的原理和实现方式。今天我要与你分享的第一个组件是服务发布和引用。我在前面说过,想要构建微服务,首先要解决的问题是,服务提供者如何发布一个服务,服务消费者如何引用这个服务。具体来说,就是这个服务的接口名是什么?调用这个服务需要传递哪些参数?接口的返回值是什么类型?以及一些其他接口描述信息。我前面说过,最常见的服务发布和引用的方式有三种:RESTf...原创 2018-12-24 20:49:42 · 177 阅读 · 0 评论 -
阿里巴巴架构师的疑问,如何注册和发现服务?
专栏上一期,我给你介绍了服务发布和引用常用的三种方式:RESTful API、XML 配置以及 IDL 文件。假设你已经使用其中一种方式发布了一个服务,并且已经在一台机器上部署了服务,那我想问你个问题,如果我想调用这个服务,我该如何知道你部署的这台机器的地址呢?这个问题就跟我想去吃肯德基一样,我可以去谷歌地图上搜索肯德基,然后谷歌地图会返回所有的肯德基店面的地址,于是我选择距离最近的一家去吃。...原创 2018-12-24 20:56:53 · 280 阅读 · 0 评论 -
阿里同学:如何实现RPC远程服务调用?
要完成一次服务调用,首先要解决的问题是服务消费者如何得到服务提供者的地址,其中注册中心扮演了关键角色,服务提供者把自己的地址登记到注册中心,服务消费者就可以查询注册中心得到服务提供者的地址,可以说注册中心犹如海上的一座灯塔,为服务消费者指引了前行的方向。有了服务提供者的地址后,服务消费者就可以向这个地址发起请求了,但这时候也产生了一个新的问题。你知道,在单体应用时,一次服务调用发生在同一台机器...原创 2018-12-25 15:17:06 · 1070 阅读 · 0 评论 -
震惊!阿里资深开发架构师告诉你,如何追踪微服务调用?
在微服务架构下,由于进行了服务拆分,一次请求往往需要涉及多个服务,每个服务可能是由不同的团队开发,使用了不同的编程语言,还有可能部署在不同的机器上,分布在不同的数据中心。下面这张图描述了用户访问微博首页,一次请求所涉及的服务(这张图仅作为示意,实际上可能远远比这张图还要复杂),你可以想象如果这次请求失败了,要想查清楚到底是哪个应用导致,会是多么复杂的一件事情。如果有一个系统,可以跟踪记录一次...原创 2018-12-25 16:59:49 · 1050 阅读 · 0 评论 -
面试最让你手足无措的一个问题:你的系统如何支撑高并发?
目录(1)一道面试题的背景引入(2)先考虑一个最简单的系统架构(3)系统集群化部署(4)数据库分库分表 + 读写分离(5)缓存集群引入(6)引入消息中间件集群(7)现在能hold住高并发面试题了吗?(8)本文能带给你什么启发?(1)一道面试题的背景引入这篇文章,我们聊聊大量同学问我的一个问题,面试的时候被问到一个让人特别手足无措的问题:你的系统如何支撑高并发...转载 2019-02-26 20:02:03 · 227 阅读 · 1 评论