- 博客(136)
- 资源 (24)
- 收藏
- 关注
原创 如何将现有系统逐步优化成微服务设计
本文诞生于学习架构实践专栏后的深思以及总结,结合公司之前“大泥球”的架构风格,改造服务设计的思维。改造公司系统服务主要原因:1、代码类似“屎山”,牵一发而动全身,维护成本高,且迭代慢;2、业务数据均存放在一个数据库中,几百张数据表,也是在业务代码中随意Join关联表;
2024-06-21 21:39:27
1213
原创 从复用性角度阐述中台建设
企业级能力复用平台,简单直接明确定义,也符合这篇文章的主题。企业级:定义中台的范围;企业级侧重说明中台处理的问题在于企业级别,即至少多条业务线或者服务多个前台产品;因此,中台建设,一定需要跳出单条业务线,站在企业整体视角来审视业务全景,区分开了单系统的服务化与微服务;能力:定义中台主要承载的对象;不同企业的中台能力均不相同,可以满足用户不同层面的需求,即差异化竞争力;复用:定义中台的核心价值;复用,是中台更加关注的目标,也是业务驱动和用户驱动的;中台的衡量标准。
2024-06-20 22:07:35
1142
原创 分布式系统之衡量指标:性能、资源、可用性和可扩展性
性能、资源占用、可用性和可扩展性是分布式系统设计和评估中的四个重要指标。通过详细分析和监控这些指标,可以帮助我们优化系统设计,提高系统的整体性能和可靠性。在实际应用中,需要根据具体的业务需求和技术条件,选择最合适的策略,以平衡这些关键指标。
2024-06-19 18:10:45
1457
原创 【quarkus系列】Quarkus整合openapi之swagger
Quarkus入门项目启动完成之后,可以进入Quarkus DEV UI页面,如果没有了解的小伙伴,请移步。明显可以看到swagger的地址,点击便可以直接进入swagger-ui进行调试接口,是不是很方便呀~Quarkus也支持修改swagger访问路径。
2024-06-06 16:09:54
845
原创 【quarkus系列】实战自定义注解实现策略模式分发
基于Quarkus自定义注解的语法格式,与java语法基本一致,毕竟遵循 MicroProfile 和 Jakarta EE 的规范。核心代码@Qualifier平台类型枚举@Getter//企微WEWORK(1, "企微"),//小红书RED_BOOK(2, "小红书"),;
2024-06-06 03:00:00
958
原创 【quarks系列】基于Dockerfile构建native镜像
f Dockerfile用于指定要使用的Dockerfile。如果Dockerfile不在当前目录,需要提供完整路径。-t your_image_name用于指定构建的镜像名称。Dockerfile的文件名为Dockerfile。Dockerfile位于构建上下文的根目录中。构建镜像的时间比较长,需要等待一下,耐心呦~.表示Dockerfile所在的当前目录。实体类以及Controller层。引入lombok的依赖。
2024-06-05 15:10:17
555
原创 【docker】 /bin/sh: ./mvnw: No such file or directory解决方案.dockerignore被忽略
默认将所有文件忽略啦,所以dockerfile运行命令时,无法使用./mvnw命令。之前的文章也提过,quarkus原生包镜像需要依赖二进制文件,故target目录下文件需要排除。文件是用来指定在构建Docker镜像时应该忽略的文件和目录的配置文件。我们看一下项目生成时,默认dockerignore内容是什么。报错如下:解决方案很简单,但是容易让大家忽视的问题。大家都使用过.gitignore,原理是一样的。
2024-06-05 12:29:57
414
原创 【quarkus系列】解决native包反射问题java.util.NoSuchElementException之RegisterForReflection 注解
在使用 Quarkus 等框架时,反射机制可能是我们剥离spring框架之后做native包需要的解决问题。首先先了解讨论为什么原生包(native image)不支持传统的反射机制呢?扩展一下知识点,两者之间的区别。:反射允许 Java 程序在运行时动态地发现和使用类、方法和字段。这种动态性带来了极大的灵活性,但也有一些缺点,如性能开销和安全问题。:GraalVM 提供了一种将 Java 应用程序编译为原生可执行文件的能力,这种方式能够显著提高启动速度和减少内存占用。这是因为原生包在,而不是。
2024-05-28 21:36:59
927
原创 【quarkus系列】构建可执行文件native image
选择 Quarkus Native Image 能够显著提升应用的性能和部署效率,特别适合云原生和微服务架构的应用场景。
2024-05-27 22:49:37
1375
原创 【quarkus系列】创建quarkus第一个应用程序
Quarkus 是一个设计用于 Kubernetes 和云原生环境的 Java 框架,具有快速启动时间、低内存消耗和强大的开发者体验。1、标识项目启动时用的端口号,配置文件application.properties中定义设置;2、标识项目运行环境,即dev,启动命令中设置quarkus:dev;从git克隆官网提供的快速启动项目,官网提供的组件demo(本篇可以先忽略)控制台出现以上日志,则表明启动运行成功。使用终端,输入以上命令,控制台输出。3、标识项目中使用的项目组件;项目使用的maven,
2024-05-27 22:16:08
711
原创 docker实战之搭建MYSQL8.0主从同步
关于MYSQL主从同步的原理以及八股文这篇文章中就暂时不讲述啦,直接上干货,面对许多同学没有大量服务器,又想参与MYSQL集群实战过程中,提升技能,这篇实操技能你值得拥有~
2024-05-21 09:09:07
1416
1
原创 从医疗数字化转型谈何为中台
中台定义中台,从字面意思上理解,是位于前台和后台之间。但关于中台的定义也是百家杂谈,故小编参考网上两种阐述比较清晰的定义。一、中台的定义:中台就是“企业级能力复用平台”;企业级:定义中台的范围,区分开了单系统的服务化与微服务能力:定义了中台的主要承载对象,能力的抽象解释了各种各样中台的存在复用:定义了中台的核心价值,传统的平台化对于易复用性并没有给予足够的关注,中台的提出和兴起,让人们通过可复用性将目光更多的从平台内部转换到平台对于前台业务的支撑上平台:定义了中台的主要形式,区别于传统的应用
2022-04-13 21:28:02
1710
原创 【Kubernetes系列】Kubernetes组件介绍
概述kubernetes中文文档:https://kubernetes.io/zh/docs/home/kubernetes中文社区:https://www.kubernetes.org.cn/docskubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,主要提供了如下的主要功能:自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器;弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整;服务
2022-03-30 21:40:34
3893
原创 【kafka系列】kafka之生产者发送消息实践
一、准备工作进入实战之前先熟悉一下topic的相关命令,使用终端命令查询创建一个新topic,用于后期实战;特别注意:以下命令全部依据kafka文件目录中操作;如果尚未安装kafka,请移步《centos7系统安装kafka》查看操作主题命令参数命令:./bin/kafka-topics.sh日常工作中常用的命令如下表:参数描述–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主
2022-03-07 21:18:16
8007
原创 【docker系列】docker之部署springboot项目
目录一、项目依赖二、引入docker依赖三、项目打包四、编写Dockerfile文件五、构建镜像六、启动容器七、测试一、项目依赖本篇主题主要实战如何使用Docker部署springboot项目,那么首先保证服务器上已经安装完docker容器,如果尚未安装请移步《详解阿里云服务器安装docker》文章完成docker安装操作;以下直接搭建springboot项目;以下也是springboot项目中最基本的依赖项;因为我们想测试接口访问,故搭建的是一个web项目,那么我们提供一个controller层c
2022-02-28 22:33:54
2028
原创 【kubernetes系列】Pod篇实战操作
目录一、命令终端创建Pod查看Pod访问Pod中容器进入Pod内部删除Pod配置文件yaml创建二、Dashboard创建Pod创建多容器的Pod进入容器访问容器应用一、命令终端创建Pod命令格式kubectl run 自定义pod名字 --image=基础镜像示例[root@VM-4-8-centos kubernetes]# kubectl run my-nginx --image=nginxpod/my-nginx created查看Pod简单状态信息[root@VM-4-
2022-02-26 12:12:34
2699
2
原创 【kubernetes系列】master节点部署Pod处于Pending状态
目录一、绪论二、情景再现三、解决方案一、绪论产生问题的原因是master节点部署Pod,导致无法启动;问题描述:Warning FailedScheduling 40s (x28 over 28m) default-scheduler 0/1 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn’t tolerate.二、情景再现部署环境,k8s中的m
2022-02-26 09:07:46
1456
5
原创 【kubernetes系列之安装Dashboard】
目录一、安装dashboard二、集群网络模式三、查看 Dashboard 暴露外网端口四、访问dashboard五、创建账户,生成tokenkubernetes折腾了好久,终于把Dashboard安装成功,其过程踩坑、排错苦不堪言,网上的教程也是百家杂谈,哈哈~,小编也写一下关于图形化管理工具的杂谈,希望能尽快帮助小伙伴们出坑。轻松几步搞定一、安装dashboard注意:安装版本,可以前往GitHub上查询稳定发行版以及与kubernetes兼容;小编安装的最新版本V2.5.0,因为小编的kube
2022-02-25 21:55:52
4154
4
原创 【消息队列之rabbitmq】Rabbitmq之消息可靠性投递和ACK机制实战
目录一、绪论二、生产者2.1事务机制2.2confirm模式串行模式批量模式异步模式三、消费者3.1手动ACK一、绪论上篇文章介绍了rabbitmq的基本知识、交换机类型实战《【消息队列之rabbitmq】学习RabbitMQ必备品之一》这篇文章主要围绕着消息确认机制为中心,展开实战;接触过消息中间件的伙伴都知道,消息会存在以下问题:1、消息丢失问题和可靠性投递问题;2、消息如何保证顺序消费;3、消息如何保证幂等性问题,即重复消费问题等等…本文主要以Rabbitmq消息中间件解决问题一的实践,
2022-01-04 21:57:23
1804
1
原创 【消息队列之rabbitmq】学习RabbitMQ必备品之一
目录一、基础知识二、Rabbitmq消息发送模式1、简单队列2、工作队列3、发布/订阅4、路由模式5、主题模式三、RabbitMQ交换机类型1、Direct exchange2、Fanout exchange3、Topic exchange四、实战1、运行环境2、统一连接类3、简单队列消息模式4、发布/订阅消息模式---交换机fanout类型5、路由模式---交换机direct类型6、主题模式---交换机topic类型五、Rabbit Management1、connections管理2、channel管理
2021-12-19 17:19:56
1911
原创 【redis系列】redisTemplate缓存常用工具类
背景日常开发过程中,大家使用redis缓存基本上是家常便饭,但是代码中使用redisTemplate组件会略显得麻烦,使用时需要开发人员查阅官网文档,具体场景使用哪些方法,会花费相对的时间,故小编为提升开发效率,整理一些基本常用的交互缓存的方法,涉及redis相关的数据结构:String,List,Set,ZSet,应对大家日常开发足以。如果该类中缺失常用的方法,希望小伙伴们评论区留言,及时更新!!!工具类package com.anhuanjia.ehs.ahj.util;import lom
2021-12-07 22:00:36
868
原创 【elasticsearch系列】SpringBoot整合elasticsearch客户端
目录文档ElasticSearch Head实践踩坑点文档Elasticsearch: 权威指南Java REST Client可以跟着官网示例写demo工欲善其事必先利其器,对于ES数据的查看,首先先安装一个谷歌浏览器的插件ElasticSearch Head,便于大家后期确认测试数据是否成功;ElasticSearch Head谷歌浏览器左上角存在一个“应用”标签,进入谷歌的应用商店;搜索""安装成为扩展程序即可;然后打开,输入自己的ES服务地址,连接集群即可;插件安装好之后,进
2021-11-27 13:23:27
2026
原创 六步带你轻松安装MongoDB
目录一、下载二、解压缩三、重命名四、创建数据库和日志目录五、创建并配置mongodb.conf六、启动mongodb安装环境基于centos7版本。一、下载命令直接下载:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz二、解压缩命令:tar -zxvf mongodb-linux-x86_64-rhel70-3.2.4.tgz三、重命名命令:mv mongodb-linux-x86_64-rh
2021-11-14 16:26:59
1324
原创 【seata系列】centos服务器带你踩坑搭建seata以及解决MySQL8.0无法启动问题
目录准备配置registry.conffile.conf创建相关表和数据库启动踩坑启动准备通过github下载安装包:https://github.com/seata/seata/releases/tag/v1.3.0seate中文文档:http://seata.io/zh-cn/docs/overview/what-is-seata.html将下载的安装包上传到服务器,解压缩即可;配置进入conf目录,主要修改file.conf和registry.confregistry.conf由于小编
2021-09-29 22:08:00
3664
1
原创 【gateway系列】手把手教你gateway整合nacos注册中心
目录准备Gateway服务Member服务运行往期相关推荐:网关路由规则和nacos配置中心实战:一步步带你学习gateway路由规则实践nacos整合配置中心准备准备引入相关依赖:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>
2021-09-28 20:25:31
3454
原创 【gateway系列】一步步带你学习gateway路由规则实践
目录1、准备微服务项目gateway网关服务2、Path3、Query4、Method5、DateTime6、RemoteAddr7、Header1、准备微服务项目新创建一个springBoot项目作为微服务,简单一个demo,如下:@RestControllerpublic class MemberController { @RequestMapping("/query-demo") public String queryDemo(String name) {
2021-09-27 20:56:03
1859
原创 【kafka系列】centos7系统安装kafka
目录一、准备二、安装与配置三、配置文件详解四、运行1.启动zookeeper服务2.启动kafka服务3.创建topic4.查看topic5.产生消息:kafka-console-producer.sh6.消费消息:kafka-console-consumer.sh7.查看描述 Topic 信息8.删除topic一、准备确保服务器上已经搭建完成JDK,zookeeper服务;如果未搭建完成,请移步参考以下文章:安装zookeeper: https://blog.youkuaiyun.com/xuan_lu/ar
2021-09-25 19:53:17
3459
原创 【zookeeper系列】centos7安装zookeeper
目录1、准备2、安装与配置3、运行1、准备zookeeper官网地址:http://zookeeper.apache.org/releases.html下载安装方式使用wget命令行下载wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.12.tar.gz采用下载安装包的方式:https://downloads.apache.org/zookeeper/stable/由于要安装在远程服务器上,故采用第
2021-09-25 18:13:41
3135
1
原创 【nacos系列】nacos配置中心管理实战
学习nacos注册中心之前,表示本地环境或者服务器上已经搭建完成nacos服务;今天趁空余时间总结一下nacos注册中心实战相关的东西;中文官方文档:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.htmlpom依赖新建springBoot项目,引入下面相关依赖: <dependency> <groupId>org.springframework.boot</groupId>
2021-09-23 22:34:01
1455
原创 【elasticsearch系列】windows安装IK分词器插件
环境github下载:https://github.com/medcl/elasticsearch-analysis-ik/releases注意,IK分词器插件要与ES版本保持一致;有的小伙伴在GitHub上下载插件时,没有发现与ES相对应的版本,可以切换到Tags中选择分支版本;例如Branchs列表中仅可能存在主版本号;切换到右侧Tags中查找对应的版本即可;小编这里选择的7.8.0的版本;安装IK解压缩后拷贝到ElasticSearch安装目录的plugins文件夹下,默认情况该
2021-09-06 23:32:37
7087
2
原创 【elasticsearch系列】windows安装kibana
目录环境安装配置文件启动环境下载kibana版本,要与elasticsearch版本保持一致;中文社区下载:https://elasticsearch.cn/download/安装下载压缩包之后,解压缩,这个包解压缩真是要花费点时间呢…解压缩后目录如下:配置文件kibana的配置文件在config\kibana.yml相关配置项说明# 服务端口号#server.port: 5601# 允许访问的IP,如果允许任何IP访问此处输入0.0.0.0server.host: "loca
2021-09-05 16:52:45
5094
1
原创 【elasticsearch系列】安装elasticsearch-head插件
目录环境安装node安装gruntelasticsearch-head运行修改elasticsearch.yml排查问题环境安装elasticsearch-head插件,需要依赖nodeJs环境,故首先我们先搭建nodeJs环境;此part先将此篇文章需要的各个官网列出来:node官网:https://nodejs.org/en/download/node中文网:http://nodejs.cn/download/current/elasticsearch-head GitHub:https:/
2021-09-05 15:37:38
6418
4
原创 【elasticsearch系列】双击elasticsearch.bat闪退,日志排查报错信息
打开my-application.log日志文件,寻找报错信息,如下:[1] bootstrap checks failed[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured看提示.
2021-09-05 15:35:18
2062
原创 【elasticsearch系列】windows安装和配置elasticSearch7.8.0
目录环境准备安装官网解压缩运行环境准备首先检查本地JDK环境是否在JDK1.8以上的版本,此外注意Linux系统安装elasticSearch7.0版本+时,需要将JDK环境升级到JDK11.0+版本;由于之前买的阿里云轻量级服务器性能太弱,已申请退款,故此篇学习配置安装ES采用之前使用的windows系统;命令:java -version安装官网如果网络环境不好的情况下,进入ES官网不是很方便,故推荐使用elasticsearch中文社区下载;此处小编将官网和社区网站链接都记录下来:官网
2021-09-04 23:06:43
2424
2
原创 【nacos系列】windows安装与配置nacos
目录准备1.下载2. 解压缩3.配置数据库4.修改配置文件5.启动服务6.访问nacos准备1.下载nacos GitHub下载安装服务:https://github.com/alibaba/nacos/releases如图:2. 解压缩如图:各个文件夹中解释:bin里面是启动和关闭nacos命令文件;conf存储的nacos相关的配置文件;logs日志信息target里有一个springboot的jar包注意解压缩文件之后,大家需要注意哦,许多博文开始推荐说直接双击运行co
2021-08-30 23:15:07
4166
2
原创 【Linux系列】centos7中防火墙相关命令
目录查看防火墙状态查看已开放端口防火墙开放端口firewalld的基本使用配置firewalld-cmdCentOS7 端口的开放关闭查看都是用防火墙来控制的,具体命令如下:查看防火墙状态(active (running) 即是开启状态):[root@izbp1hcw0fjg64l58525bqz nacos]# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon Load
2021-08-19 23:03:35
937
1
原创 【docker系列】docker基本常用命令
一、docker常用命令docker --help #查看docker命令docker info #docker 详细信息,镜像和容器docker version #查看docker版本# 帮助文档地址:https://docs.docker.com/reference/二、镜像命令docker images # 查看docker镜像;具体列解释含义:REPOSITORY#镜像仓库源 TAG#镜像的标签 IMAGE I
2021-08-14 19:51:04
1831
6
原创 【docker系列】详解阿里云服务器安装docker
目录准备docker官网安装阿里云容器加速学习docker先上链接:学它~docker官网:https://docs.docker.com/docker帮助文档:https://docs.docker.com/get-docker/准备要想在阿里云服务器上安装docker,首先要做的准备工作就是。。。拥有一台阿里云服务器????;简单介绍一下小编的阿里云服务器配置:[root@izbp1hcw0fjg64l58525bqz ~]# cat /etc/os-releaseNAME="Cent
2021-08-14 12:50:45
11599
13
原创 【Restful】你还不懂Restful API规范吗?
进入正文之前,先带着小伙伴们了解几个名词,源自百度百科。标题中涉及的核心名词API,restful扩展何为API呢?API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。何为restful呢?restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。
2021-08-11 23:02:56
1010
9
原创 【git系列】切换分支相关命令
背景为什么小编突然整理出这样一份命令呢?起因还是目前的工作项目的微服务太多,使用idea切换分支时,很容易点错或者合并错分支代码,于是小编下定决心,放弃使用工具切换分支,使用命令操作,使用之后发现爽的一批,操作起来666的,同时也希望帮助小伙伴们快速入门Git操作分支;命令命令的含义和介绍这些八股文,小编不再累赘,直接上命令创建并切换到本地分支git checkout -b 分支名切换分支git checkout 分支名两者的区别是否带 -b提交分支到远程仓库(本地分支与
2021-08-11 21:47:57
11081
6
VMware-workstation-full-14.1.3-9474260.rar
2020-05-26
在View中显示“您好,我是XXX文本在View内自左向右循环滚动
2018-06-23
OpenGL 绘制立方体、茶壶、环面等稍复杂的图形
2018-06-23
vs2010简单音频播放器
2018-06-23
多媒体数据库
2018-06-23
QT网络编程实践
2018-05-06
QT画图工具的使用
2018-05-06
Linux环境下Qt环境搭建和编程基础
2018-05-06
Qt GUI 文本编辑器
2018-05-06
Qt GUI 组件使用 登录
2018-05-06
实验五:定制开发自己的浏览器
2018-05-06
实验四:即时通信应用开发
2018-05-06
实验三:基于UDP的通信服务
2018-05-06
vs2010中CSocket类编程
2018-05-06
visual studio1. 实现网络文字聊天的基本功能,要求界面较为友好;
2018-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人