文章简介

每周三篇原创关于IT人的真实故事,10年研发经验,10年IT人的故事。

置顶 原创 点赞10 阅读750 收藏2 评论5 2018-03-12

『互联网架构』软件架构-企业级dubbo应用(下)

>上次说到dubbo有阿里自己的后台管理工具,这里就介绍下阿里这个后台管理工具,dubbo-admin。源码:https://github.com/limingios/netFuture/tree/master/源码/『互联网架构』软件架构-掌握dubbo常规应用(下)(41)/dubbo-study ![](https://upload-images.jianshu.io/upload_i

原创 点赞0 阅读169 收藏0 评论0 3 天前

软件架构-企业级dubbo应用(上)

上次说了dubbo的历史,介绍,了解了cosumber,proivder,registry他们之间的调用管理。提供的源码是cosumber和proivder在一个项目里面,在实际的企业开发中他们两者之间都是在不同的项目下的。这次主要说说分布式开发和联调,其实这个坑很大,比技术的坑要大,要深!每次查看生产和消费者直接这样口头或者文档的形式是不是很low,其实可以搭建dubbo控制台,对于注册中心上次

原创 点赞0 阅读35 收藏0 评论0 10 天前

『互联网架构』软件架构-掌握dubbo常规应用(下)

上一节说的dubbo的架构,流程的说明,设计的意义,其实就是dubbo的helloword。下面重点说说【Dubbo常规配置】。源码:https://github.com/limingios/netFuture/tree/master/源码/『互联网架构』软件架构-掌握dubbo常规应用(下)(41)/dubbo-study配置分布图红色是cosumber和proivder都需要用到的,cosum

原创 点赞0 阅读328 收藏0 评论0 18 天前

软件架构-掌握dubbo常规应用(上)

回顾上次的文章,讲了分布式的历史和发展的背景,通过一个场景一个公司的项目想换成分布式的项目,但是真正的要把一个系统改成成为一个分布式系统的时候,过程并非那么容易,需要整个公司一起来配合,包括业务部门和技术部门,才能把系统做好,其实单体变成分布式的不仅仅是技术发生了改变,公司的运作流程和系统的版本发布,都已经做了改变。如果一个系统要更改成分布式系统,一定要把相关的干系人都召集到一起开个会,评估下。技

原创 推荐 点赞0 阅读535 收藏0 评论0 24 天前

软件架构-从0到1认知分布式架构(下)

上次说了分布式架构的历史,分布式架构需要考虑的问题,这次继续说分布式架构。轻量级架构会采用Http+Nginx负载均衡+容错+服务配置+健康检测这些功能怎么解决呢?一个一个的去编码实现么?。有没有现成的方案可以直接实现这些功能?Nginx完全支持这些功能。所以企业在做轻量级架构会采用Http+Nginx方式。这个架构有什么瓶颈,nginx挂了的话,是不是服务都不行了,可以在中间层可以搞keepli

原创 点赞0 阅读60 收藏0 评论0 2021-05-17

软件架构-从0到1认知分布式架构(上)

不管之前接触过分布式的没有,有没有分布式的经验,跟着老铁我一起看看熟悉下,绝对收获满满,里面可是有段子啊~####(一)分布式发展的历史和背景场景一家做政府系统OA系统的公司老板,发现跟竞争对手比发现自己的系统的架构不是分布示的,招标的时候不是特别的顺利,就找到技术负责人问,把系统架构升级成分布示架构要多长时间啊?技术负责人网上查了查dubbo官网,看了看Demo这不很简单吗,拍着胸脯一个月能升级

原创 点赞0 阅读74 收藏0 评论0 2021-05-10

『互联网架构』软件架构-zookeeper之源码分析和运维总结

今天主要是说源码的分析,客户端启动过程的源码分析和服务端启动过程的源码分析。最后在说说zookeeper的运维和总结。源码:https://github.com/limingios/netFuture/源码/『互联网架构』软件架构-zookeeper之源码分析和运维总结(37)(一)服务的启动过程初始化server1,server2,server3,不知道那个是leader,那个是follower

原创 点赞0 阅读66 收藏0 评论0 2021-05-03

软件架构-zookeeper之curator详解

为了更好的实现java操作zookeeper服务器,后来出现Curator框架,非常的强大,目前已经是apache的顶级项目,里面提供了更多丰富的操作。例如:session超时重连,主从选举,分布式计数器,分布式锁等适用于各种复杂的zookeeper场景的API封装。源码:https://github.com/limingios/netFuture/源码/『互联网架构』软件架构-zookeeper

原创 点赞0 阅读138 收藏0 评论0 2021-04-27

软件架构-zookeeper场景讲解(分布式锁)和zkclient使用

继续开车,其实zookeeper能用到的场景很多,在这里在介绍几个场景,在说下分布式锁,很多了解都想知道分布式锁,其实分布式锁并不是zk的一个特性,用zk能做的事情太多了。源码:https://github.com/limingios/netFuture/源码/『互联网架构』软件架构-zookeeper场景讲解(分布式锁)和zkclient使用(35)场景分析以前的job场景很多的项目中,都要有j

原创 点赞0 阅读82 收藏0 评论0 2021-04-19

软件架构-zookeeper场景和实现

上次zookeeper的分布式也搭建完毕了,ZNODE,ACL,ZAB协议,Watcher,常用命令的使用,我们现在要怎么使用zookeeper呢?之前可能因为没接触过zookeeper,不知道他能干什么?通过场景来举个例子,zookeeper高可用分布式数据管理与协调框架,能分布式环境数据一致性,基于这样的特性我们来说说哪些场景实现。源码:https://github.com/limingios

原创 点赞0 阅读79 收藏0 评论0 2021-04-12

软件架构-zookeeper快速入门

上次在配置zookeeper分布式的时候,有个很重要的文件zoo.cfg,里面重点配置了几个信息clientPort,server.1的端口号。实际用到了2个端口号2181,2888,还有个2888这是备用的端口号。有人说zk是互联网的基石,一点都不夸张,它的作用很大。源码:https://github.com/limingios/netFuture/【zookeeper】(一)原理重申zk本身就

原创 点赞0 阅读237 收藏0 评论0 2021-04-05

软件架构-zookeeper集群部署与快速入门

目前的公司是使用的阿里内部的dubbo,也就是EDAS,里面用了阿里自己的EDAS服务,如果是使用过dubbo的老铁,应该知道zookeeper,zookeeper在大数据和RPC通信上应用比较管饭。不管用过zookeeper没有,这次主要是介绍下zookeeper和集群的部署。这个必须要实际操作下,才能理解的深刻。源码:https://github.com/limingios/netFuture

原创 推荐 点赞0 阅读1391 收藏0 评论0 2021-03-29

软件架构-分布式系列并发编程atomic&collections

在java中提供了一种对于原子操作的类,Atomic的包名为java.util.concurrent.atomic。这个包里面提供了一组原子变量的操作类,这些类可以保证在多线程环境下,当某个线程在执行atomic的方法时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个线程执行。AtomicCAS能够弄懂atomic包下这些原子操作类的实现原理,

原创 点赞0 阅读224 收藏0 评论0 2021-03-22

软件架构-分布式系列并发编程Lock锁和Tools限制

 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。源码:https://github.com/limingios/netFuture/blob/master/JSR133中文版.pdfsynchronized&

原创 点赞0 阅读289 收藏0 评论1 2021-03-15

软件架构-分布式系列并发编程

说说JMM,线程,线程池。一切都为了分布式而行动!JMM理解下面的图java的文件,需要进行编译,通过java编译编程class文件,class文件变成字节码,装载到类装载器中,通过类装载器进行执行,执行的过程中的一个模型就是下面这个图。特性1.可见性可见性是指当一个线程修改了共享变量后,其他线程能够立即得知这个修改。通过之前对synchronzed内存语义进行了分析,当线程获取锁时会从主内存中获

原创 点赞1 阅读115 收藏0 评论0 2021-03-08

『互联网架构』软件架构-分布式之大型网站的演变过程

项目都是从单一的应用,到分布式应用,到流式的基栈,这样的思想。单体应用app应用,db数据库,server服务都在同一台机器上集群应用随着业务量的增大,一台服务器,需要进行拆分到3台服务器。server服务和app在一台机器上。2台应用的,一台数据库的。在真正的开发过程中,由一个应用变成多个了会发生什么样的问题?1.session集群问题2.数据一致性问题3.数据瓶颈(一旦流量上来了,虽然应用做了

原创 点赞1 阅读155 收藏0 评论0 2021-03-01

『互联网架构』软件架构-JVM(下)

本次说说Class加载器,类的初始化,JDK自带故障排查工具介绍。####Class加载器JVM结束生命周期:1.System.exit()直接就退出了2.正常运行完3.异常中止4.手动kill进程加载1.取得类的二进制字节流,通过类的全限定名称(包名+类名),类加载器,加载到运行时数据区。2.把二进制字节流中静态存储结果转化为方法区数据结构。3.在内存中生成代表这个类的java.lang,Cla

原创 点赞0 阅读129 收藏0 评论0 2021-02-22

『互联网架构』软件架构-JVM(中)

GC这块,当java才入门的时候,老师说java不像c++,c语言需要对内存进行管理,java有垃圾回收机制,会自动进行回收,是实际的生产中也没关注过这些,现在回过头好好了解下,发现里面很有回收很多的机制。####GCGC(GarbageCollection)的基本原理:将内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征

原创 点赞0 阅读73 收藏0 评论0 2021-02-01

『互联网架构』软件架构-JVM(上)

说到JVM,很多工作多年的老铁,可能就有点发憷了,因为搬砖多年,一直使用java这个工具,对于JVM没有了解过,有句话面试造航母,上班拧螺丝,要啥自行车啊,知道如何搬砖就可以了,为啥要懂这么多,如果你有很强的商业头脑,不需要了解太多深入的东西,只要完成业务功能就可以了,如果你口才也不行,只有一个编程的大脑,老铁沉下心咱们一起了解下,你平常拧螺丝的扳手的结构把,这个真心有用。因为它可以让你走的更远,

原创 点赞0 阅读182 收藏0 评论0 2021-01-25

『互联网架构』软件架构-软件环境的持续发布管理(下)

上次说了持续集成需要处理的问题,最大的问题就是团队的协调和写作,也说了confluence和SVN,要打仗一定要装备牛X,没有装备怎么打仗呢。我们选择confluence和svn,jenkins协作来进行开发。演练大型项目超过50人团队的管理风格都是按照我们之前的项目风格来的,当时没有使用自动化的工具,也依靠这个项目的流程支持了全国的项目。后来行业不景气,但是我们这套流程基本可以说没有出现过问题。

原创 点赞0 阅读154 收藏0 评论0 2021-01-18

『互联网架构』软件架构-软件环境的持续发布管理(上)

这次就走到软件的最后一站,哈哈,就是把软件给发布部署到服务器上。其实在部署的过程中,尤其现在微服务架构的盛行,软件本身喜欢用什么敏捷开发,导致持续发布的困难也是相当的大,原来不管项目怎么整,只要最后把项目部署好,可以正常的访问这个项目就部署好了。但是一旦把项目拆的很散,拆的很多个服务的时候,这时候想部署起来真的不是一个简单的事情。需要使用科学的方法和经验把这个事情搞定。大规模系统发布所面临的问题尤

原创 点赞0 阅读240 收藏0 评论0 2021-01-12

『互联网架构』软件架构-tomcat之环境部署(下)(22)

tomcat生产环境得应用配置,这次的对各位老铁还是非常有用的。其实就是咱们生产环境实际要做的一些事情,有老铁联系我说,从之前说的docker还有现在很多部署基本都是跟运维关系很大,跟开发关系很少啊?其实老铁你误解我了,我的思路就是不管是在应用的环境,最后的部署希望的是各位老铁都能完全的熟悉。源码:https://github.com/limingios/netFuture/tree/master

原创 点赞1 阅读219 收藏0 评论0 2021-01-04

『互联网架构』软件架构-tomcat之线程源码熟悉通信方式(上)

今天说说tomcat线程源码模型,想通过tomcat的线程源码的模型,老铁们可以熟悉关于连接的,高并发的一些配置。之前就是配置好了,就永久受益了,一起说说tomcat的线程模型还是收益比较大的。Tomcat支持的四种线程模型的介绍截止到8.0tomcat支持的四种现场模型,BIOtomcat6.0之前都是用的BIO,8.0是默认的BIO,传统的javaIO来进行的其实就是socket。NIO通过s

原创 点赞0 阅读245 收藏0 评论0 2020-12-28

『互联网架构』软件架构-nginx(下)

今天继续说说nginx,之前只是介绍了nginx的配置,这次主要说说nginx的生产环境的配置,我们在生产中是如何配置的。源码:https://github.com/limingios/netFuture/tree/master/nginx系统类型IP地址节点角色CPUMemoryHostnameCentos7192.168.66.110nginx12GnginxCentos7192.168.66

原创 点赞0 阅读282 收藏0 评论0 2020-12-21

软件架构-nginx详解上

今天说说nginx,其实有老铁比较奇怪,nginx不是运维来搞的吗?确实是的,大部分情况下,公司比较大的话,存在运维的话,这个锅肯定是运维来做的。但是现在有个趋势叫devops之前我也说过,开发运维一体化,开发也要懂一定的运维知识。在一些互联网的创业公司刚开始技术的工种,并不是分的那么清楚,可能都要会的。环境的搭建,运维,框架搭建,开发都必须拿得下来。源码:https://github.com/l

原创 点赞0 阅读179 收藏0 评论0 2020-12-14

『互联网架构』软件架构-java日志异常(18)

上次说了日志,不知道老铁遇见过没有,日志打印了一大堆,真的去找导致异常和错误的一条没有。出现这个问题的根本原因是什么?就是因为系统没有一个规范的统一的异常规范。有的老铁发现异常后,直接e.printStackTrace()打印出来堆栈就结束了,其实这样是很危险的。如果前期对异常没有统一的处理,后期在进行统一和调整真心非常非常的困难,异常跟我们的业务逻辑耦合的非常深的。调整统一过来非常非常的难。所以

原创 点赞0 阅读150 收藏0 评论0 2020-12-07

『互联网架构』软件架构-java日志体系(17)

了解过为什么日志体系那么多的jar包,系统放几天日志就把线上磁盘给打爆了。具体怎么配置使用log,有的配置是Info是一个日志,error是一个日志,查找非常的烦,如果线上不出问题,我们很少管,如果出问题了,找不到对应的日志真是烦透了。如果是分布式开发,日志管理如果不使用elk这种统一工具,分散在不同的机器上,有10台机器需要去10台机器轮流找日志,是不是很麻烦,今天就一次性的吧整个日志体系搞明白

原创 点赞0 阅读180 收藏0 评论0 2020-11-30

『互联网架构』软件架构-API接口安全网关《service变controller》

在网上发现了一个牛X的思路,在做restful的时候,如果业务改变,需要每次都修改controller,后来方便了,直接透传的方式,其实也比较麻烦,每次都要写controller。需求变了接口也发生了改变,长期这样的结果,就是维护成本越来越高,直接service通过spring让他变成controller不就少写很多代码了。源码:https://github.com/limingios/netFu

原创 点赞0 阅读264 收藏0 评论0 2020-11-23

『互联网架构』软件架构-分布式架构

分布式架构:原理,设计与实战,目前公司每个月都要出账,出账就是每个月有要把之前的一个月的账目盘算清楚,做到错误的0容忍,一笔都不能错,错一笔客户都会找你,偏准确性。4个9,5个9并不是说后面设计的,而是在开发之初就要考虑的。分布式服务的发展历程J2EE架构俗称JEE。对于大概有5年以上工作经验的老铁,应该都听过这个名词。基本分为3层。web容器EJB容器数据库和数据存取的ORM那时候的容器之间都没

原创 点赞0 阅读138 收藏0 评论0 2020-11-16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
写文章