
暂无个人介绍
云原生涵盖的技术领域越来越多,但目前最为关键的三项技术依然是:容器、微服务、服务网格等。云原生是面向云应用设计的一种思想理念, 充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。 代表技术包括不可变基础设施、服务网格、声明式 API 及 Serverless 等。读了这本《企业运维之云原生和Kubernetes 实战》这本书,从书中 学习到了云原生和k8s基础入门、阿里云容器技术深入介绍、kubernetes集群原理深度解析、ack集群管理。让我们从0到1熟悉云原生及K8s概念/技术/架构。 大家也可以通过本书配套的训练营本训练营涵盖云原生方向学习领域的基础课程与核心课程,是成为云原生运维和实践工程师的必修之路。 通过课程讲授与丰富的动手实验,让我们快速掌握了解学习到这方面的知识和实践。非常的推荐给大家!!!!!!!
GUI是一个人机交互的界面,换句话说,它是人类与计算机交互的一种方法。GUI主要使用窗口,图标和菜单,也可以通过鼠标和键盘进行操作。GUI库包含部件。部件是一系列图形控制元素的集合。在构建GUI程序时,通常使用层叠方式。众多图形控制元素直接叠加起来。当使用python编写应用程序时,你就必须使用GUI库来完成。对于Python GUI库,你可以有很多的选择。之前我用的最多的是 Tkinter ,这个 GUI 库比较灵活,可以做出比较复杂的界面。但是在页面布局和控件使用上比较复杂,想画出一个好看的界面还是要花很多功夫的。今天给大家介绍一个 GUI 库 —— Gooey ,一行代码就可以快速生成 GUI 应用程序。安装安装方法毫无新意,跟以前我们安装其他库一样:pip install Gooey简单示例from gooey import Gooey, GooeyParser@Gooey(program_name="简单的实例")def main(): parser = GooeyParser(description="第一个示例!") parser.add_argument('文件路径', widget="FileChooser") # 文件选择框 parser.add_argument('日期', widget="DateChooser") # 日期选择框 args = parser.parse_args() # 接收界面传递的参数 print(args)if __name__ == '__main__': main()这里看代码应该大致知道界面有些什么控件:文件选择框、日期选择框。运行之后的效果如下:非常的简洁大方有木有!绝对拿得出手!组件GUI 界面都是由一个个组件排列组成的,上面的例子中我们使用了 FileChooser 和 DateChooser 这两个组件,使用起来是不是很简单?我们来看看 Gooey 还有哪些组件。| 控件名 | 控件类型 || -------- | -----: || FileChooser | 文件选择器 | | MultiFileChooser | 文件多选器| | DirChooser | 目录选择器 || MultiDirChooser | 目录多选器 || FileSaver | 文件保存 || DateChooser | 日期选择 || TextField | 文本输入框 || Dropdown | 下拉列表 || Counter | 计数器 || CheckBox | 复选框 || RadioGroup | 单选框 |这些组件基本上看名称就知道是什么样子的了,都是我们平时常用的页面组件。配置配置参数主要是对Gooey界面做全局配置,配置方法如下:@Gooey(program_name='全局配置Demo')def main(): ...这里就使用了 program_name 这个配置,主要是配置显示程序的名称。除此之外,Gooey 还有好多其他的配置参数:参数类型简介advancedBoolean切换显示全部设置还是仅仅是简化版本show_configBoolean跳过所有配置并立即运行程序languagestr指定从 gooey/languages 目录读取哪个语言包program_namestrGUI 窗口显示的程序名。默认会显 sys.argv[0]。program_descriptionstrSettings 窗口顶栏显示的描述性文字。默认值从 ArgumentParser 中获取。default_sizetuple窗口默认大小,(600,400)required_colsint设置必选参数行数。optional_colsint设置可选参数行数。dump_build_configBoolean将设置以 JSON 格式保存在硬盘中以供编辑/重用。richtext_controlsBoolean打开/关闭控制台对终端控制序列的支持(对字体粗细和颜色的有限支持)比如我们上面的例子中除了我们自己设置的,其他的控件例如选择按钮、确定按钮等默认都是英文的,我们可以通过 language 参数来设置语言。语言包在 Gooey 的 GitHub 源码中有:我们使用语言配置:from gooey import Gooey, GooeyParser@Gooey(program_name="简单的实例", language='chinese')def main(): parser = GooeyParser(description="第一个示例!") parser.add_argument('文件路径', widget="FileChooser") # 文件选择框 parser.add_argument('日期', widget="DateChooser") # 日期选择框 args = parser.parse_args() # 接收界面传递的参数 print(args)if __name__ == '__main__': main()这里加了一个 language 参数,我们看看运行后效果:我们可以看到,界面上的文字都变成中文了。结构布局通过使用一些简单的自定义,您可以使用Gooey实现相当灵活的布局。我们可以通过Gooey装饰器的各种参数来控制总体布局选项。• show_sidebar=True• show_sidebar=False• navigation='TABBED'• tabbed_groups=True实例我们通过一个小栗子来看看运行的效果吧。from gooey import Gooey, GooeyParser@Gooey( richtext_controls=True, # 打开终端对颜色支持 program_name="MQTT连接订阅小工具", # 程序名称 encoding="utf-8", # 设置编码格式,打包的时候遇到问题 progress_regex=r"^progress: (\d+)%$" # 正则,用于模式化运行时进度信息)def main(): settings_msg = 'MQTT device activation information subscription' parser = GooeyParser(description=settings_msg) subs = parser.add_subparsers(help='commands', dest='command') my_parser = subs.add_parser('MQTT消息订阅') my_parser.add_argument("connect", metavar='运行环境',help="请选择开发环境",choices=['dev环境','staging环境'], default='dev环境') my_parser.add_argument("device_type",metavar='设备类型',help="请选择设备类型",choices=['H1','H3'],default='H1') my_parser.add_argument("serialNumber", metavar='设备SN号',default='LKVC19060047',help='多个请用逗号或空格隔开') siege_parser = subs.add_parser('进度条控制') siege_parser.add_argument('num',help='请输入数字',default=100) args = parser.parse_args() print(args, flush=True) # flush=True在打包的时候会用到if __name__ == '__main__': main()这个例子运行的效果如下:打包成应用程序第一步,先安装我们的打包库:pip install pyinstaller第二步,执行打包命令:pyinstaller -F gooeydemo.py -w等待执行完成,我们就可以在代码目录下看到这样的结构:我们的 exe 可执行文件就在 dist 文件夹下。总结今天给大家介绍了 Gooey 的一些简单使用,个人觉得比 Tkinter 要好用一些,应对一些简单的 GUI 界面,我们使用 Gooey 可以快速生成,而使用 Tkinter 的话,可能就需要耗费一些时间了。当然,Gooey 还有一些其他的特性,大家有兴趣可以去探索!
低代码开发是指无需编码或通过少量代码,就可以快速生成应用程序的新型开发方式。 低代码是基于可视化和模型驱动理念,结合云原生与多端体验技术,它能够在多数业务场景下实现大幅度的提效降本, 为专业开发者提供了一种全新的高生产力开发范式。 另一方面,低代码能够让不懂代码的人,通过“拖拉拽”开发组件, 就能完成应用程序的搭建。 从意义上讲,低代码可以弥补日益扩大的专业技术人才缺口,同时促成业务与技术深度协作的终极敏捷形态。 在本书中《低代码开发师(高级)实战教程》中的通过可视化的拖拽, 完成应用的布局和设置,同时也可以根据自己的需要进行自由的拖拽,然后通过对话式的命令行,完成应用内不同模块的逻辑关联,通过场景化的实践,让我们普通程序员具备系统之间的互联互通能力。
在微服务技术流行的当下,我们企业在实施微服务架构的时候,会对整个研发体系,包括开发、运维、团队组织、协同都带来或大或小的影响。 因此必须构建起一整套以服务治理为核心、从线下到线上的新的能力体系来支撑这套新的架构技术,否则很难保证微服务架构的顺畅落地。 读完这本书,在这本书找到了答案.通过阿里云提供的方案。微服务深度治理能力构建,将微服务的治理延升到架构、开发、测试、运维、团队协同等各个领域, 从而实现微服务架构在组织中从“用的了”到“用的好”的提升。同时将服务治理能力反哺给业务,实现技术和业务的良性互动。 让我对于微服整体有一认识对于公司现有系统架构的一些思考,慢慢对公司现有架构整理出自己的意见和一些可行性的方案。
《阿里云 JindoFS+OSS 数据上云实战》这本书,云原生的大数据计算存储分离方案。我充分的理解了以前OSS/S3 作为云上对象存储的代表, 也在大数据生态进行了适配,但是由于对象存储设计上的特点,元数据相关操作无法达到 HDFS 一样的效率;对象存储给客户的带宽不断增加, 但是也是有限的,一些时候较难完全满足用户大数据使用上的需求。JindoFS 是阿里云针对云上存储定制的自研大数据存储服务, 完全兼容 Hadoop 文件系统接口,给客户带来更加灵活、高效的计算存储方案,目前已验证支持阿里云 EMR 中所有的计算服务和引擎: Spark、Flink、Hive、MapReduce、Presto、Impala 等。它使用 RocksDB 存储元数据,相比于 NameNode 可以存储更大规模的文件数, 不受限于内存。另外不需要Worker节点上报块信息,没有性能抖动的问题。工作中最明显的益处就是: 我们可以利用 JindoFS 作为存储引擎,将底层数据存放在对象存储(比如OSS)上,并且利用 JindoFS 的本地缓存加速能力, 组成一个云上稳定、可靠、高性能的大数据存储方案,给上层计算分析引擎提供强大有力的支撑。
云服务器概念云服务器就是虚拟服务器,功能与VPS差不多,但性能却有很大不同,它有自己明显的特点: 1、云服务器又可以叫做计算单元,何谓计算单元,就好像你的大脑,里面的资源是有限的,你要扩展内存就需要升级云服务器,另一种方式就是把计算单元的软件放置在对应的云服务器上面。 2、所谓的云主机云计算服务器也是如此,因为它的用户是众多初创企业,把高端用户连接在互联网基础服务设施,由于这些用户基数大,他们也会从云服务器转向主机租用和托管业务。并且他们注重短期投资回报率,对产品的性价比要求更高,等等,为了解决这些弹性需求,越来越多的服务器供应商选择了云服务器这一中转方案。 3、由于云服务器使用了云计算技术,结合了数据中心核心要素:计算、网络与存储。云服务器基于集群服务器技术,是一种类似VPS服务器的虚拟化技术,虚拟出多个类似独立服务器的部分,让云服务器具备很高的安全稳定性。 首先是他的几大特性高可用性相较于普通的IDC机房以及服务器厂商,阿里云使用更严格的IDC标准、服务器准入标准以及运维标准,保证云计算基础框架的高可用性、数据的可靠性以及云服务器的高可用性。 阿里云提供的每个地域都存在多可用区。当您需要更高的可用性时,可以利用多可用区部署方案搭建主备服务或者双活服务。对于面向金融领域的两地三中心的解决方案,您也可以通过多地域和多可用区搭建出更高的可用性服务。其中包括容灾、备份等服务,阿里云都有非常成熟的解决方案。 阿里云的产品体系框架中的云服务之间可以实现平滑切换。更多有关两地三中心、电子商务、视频服务等解决方案,请参见阿里云行业解决方案。 此外,阿里云为您提供了如下三项支持: 提升可用性的产品和服务。包括云服务器ECS、负载均衡SLB、关系型数据库RDS以及数据传输服务DTS等。行业合作伙伴以及生态合作伙伴。帮助您完成更稳定的架构,并且保证服务的持续性。多种多样的培训服务。让您从业务端到底层服务端,在整条链路上实现高可用。安全性阿里云通过了多种国际安全标准认证,包括ISO27001、MTCS等。安全合规性对于用户数据的私密性、用户信息的私密性以及用户隐私的保护力度都有非常严格的要求。 在网络建设方面,推荐您使用阿里云专有网络VPC。专有网络提供了稳定、安全、快速交付、自主可控的网络环境。对于传统行业以及未接触到云计算的行业和企业而言,借助专有网络混合云的能力和混合云的架构,将享受云计算所带来的技术红利。详情请参见阿里云专有网络VPC。 丰富的网络产品体系您只需进行简单配置,就可在当前的业务环境下,与全球所有机房进行串接,从而提高了业务的灵活性、稳定性以及业务的可发展性。 与自建的IDC机房互连阿里云专有网络可以建立高速通道到您原有的IDC机房,形成混合云的架构。阿里云提供了多种混合云解决方案和丰富的网络产品,形成强大的网络功能,让您的业务更加灵活。 专有网络的稳定性业务搭建在专有网络上,而网络的基础设施将会不停进化,使您每天都拥有更新的网络架构以及更新的网络功能,让您的业务永远保持在一个稳定的状态。 专有网络的安全性面对互联网上不断的攻击流量,专有网络天然具备流量隔离以及攻击隔离的功能。业务搭建在专有网络上后,专有网络会为业务筑起第一道防线。 弹性云计算最大的优势在于弹性与灵活性。阿里云拥有在数分钟内创建出一家中型互联网公司所需要的IT资源的能力,保证了大部分企业在云上所构建的业务都能够承受巨大的业务量压力。阿里云的弹性体现在计算的弹性、存储的弹性、网络的弹性以及您对于业务架构重新规划的弹性。 计算弹性纵向的弹性。即单台云服务器ECS的配置变更。普通IDC模式下,很难做到对单台服务器进行变更配置。而对于阿里云,当您购买了云服务器ECS或者存储的容量后,可以根据业务量的增减自由变更配置。 横向的弹性。对于游戏应用或直播平台出现的高峰期,若在普通的IDC模式下,您根本无法立即准备资源;而云计算却可以使用弹性的方式帮助您度过这样的高峰。当业务高峰消失时,您可以将多余的资源释放掉,以减少业务成本。利用横向的扩展和缩减,配合阿里云的弹性伸缩,完全可以做到定时定量的伸缩,或者按照业务的负载进行伸缩。 存储弹性当数据量增多时,对于普通的IDC方案,您只能不断增加服务器,而这样扩展的服务器数量是有限的。阿里云为您提供海量的存储,您可以按需购买,为存储提供最大保障。 网络弹性阿里云的专有网络VPC的网络配置与普通IDC机房配置可以是完全相同的,并且可以拥有更灵活的拓展性。在阿里云,您可以实现各个可用区(机房)之间的互联互通、安全域隔离以及灵活的网络配置和规划。 使用后的心得1、性能更好 云服务器环境运用高端服务器进行部署,同时采用集中的管理与监控,确保业务稳定可靠。 更强的主机性能,总体性能远高于VPS,强于部分独立服务器。这就是越来越多的人选择它的原因。 2、管理更灵活 针对一些中小型的企业,云服务器伴随公司业务的不断扩大,可能后期需要进行扩容和升级等操作,使用云主机,在后期就不需要对软硬件进行相应的升级操作。可以随时改变网站的配置。 3、数据更加安全 云主机除了普通主机的性能外,还有一个数据备份功能,就算是硬件出现了问题,数据也不会受到影响或者是出现丢失的情况。使用这种主机只需要后期的正常维护和运维就行了,而且这个是服务商在维护的。降低广大中小企业的维护成本 4、稳定性更高 我们以前知道的虚拟主机是很多个用户同时使用的一台机器,这样如果一个网站被攻击,其他的网站也有可能被k,这样空间的稳定性就会大大降低。使用云服务器就可以有效解决这一问题。 5、升级更方便 普通中小企业由于资金问题一开始会选择配置较低的服务器,如果是原来使用的配置太低了,在不重装系统的情况下可以升级CPU、内存和硬盘等,这样就不会影响之前的使用。方便了广大用户的弹性需求。 6、网络更安全 我们多知道服务器最怕出现故障,网站的运营就会不能正常进行,云产品一般很少出现这种情况的,就算是网站的运营出现了问题也会自动转移到其他的机器上,黑客攻击也会很困难。这就大大降低了网站的运行风险。
背景为了测试云效Flow是否满足我们企业的应用场景,一般来说,使用K8S部署场景如下: 1. 对源代码进行一定的质量检测,例如单元测试、代码扫描等。 2. 将源代码构建成为可交付的制品,也就是容器镜像。 3. 对制品进行测试环境验证。 4. 使用完成验证的制品进行线上部署。 5. 使用基础设施即代码的方式,在代码库中管理与应用相关的所有YAML文件。活动需要有不同角色的参与:开发、测试、运维。如何保证不同参与者可以使用统一的交付流程来进行协作,是云效Flow交付流水线要解决的主要问题。 测试过程访问SpringBoot示例应用1. 集群发布成功后,点击 Kubectl发布 查看集群发布日志,可以看到发布成功的HOSTS和ADDRESS地址。说明:如果运行流水后没有出现ADDRESS地址,重新运行一次流水即可。 在浏览器输入域名,返回页面如下所示,则SpringBoot示例应用部署成功。 修改任意代码,触发持续交付因为我们在前面开启了代码源触发,所以当检测到master分支有代码进行变更,将会自动触发流水线的运行。 通过云效持续交付流水线和kubernetes很好的结合在一起,为应用的持续交付提供了很好的基础保障。开发者提交代码变更到代码仓库,云效在监听代码库的变动,一旦代码发生变化,将自动触发云效持续部署流水线一次构建任务的运行,包括代码检查、构建、测试部署、测试验证和生产环境部署等过程。其中,在构建完之后,生成Docker镜像,并自动上传至应用镜像仓库,在部署阶段时,获取当前流水线实例构建出来的镜像版本,通过kubernetes进行容器编排部署。而这一切,都是通过自动化的手段进行完成。测试心得云效产品,一体化 DevOps 研发平台,从项目管理到代码、知识库、DevOps 的一体化平台,无需多个系统间切换,极大提升工作效率。除此之外,适合多种协作场景,提供不同的项目管理模板,从通用的团队协作到专业的敏捷实践均可覆盖,并可根据自身业务流程进行自定义,提供包括看板、日历、甘特图、燃尽图以及多层级列表,直观了解项目进展.强大的自定义能力,可以自定义任务类型、状态、任务字段,标签、优先级、显示字段等等,应有尽有。在代码管理方面高效的代码审查,同时支持 PR 和 CR 模式,提供便利且规范的代码评审流程,内置强大的静态代码规范、漏洞扫描工具,可以为评审环节提供更全面的代码质量提示和修改建议信息.精细的权限管理,多维度、细粒度的权限体系满足各种规模企业的需求,支持仓库、分支以及目录文件级别的精细化权限管控,这些特性都非常适合我们研发人员。
云原生涵盖的技术领域越来越多,但目前最为关键的三项技术依然是:容器、微服务、服务网格等。云原生是面向云应用设计的一种思想理念, 充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。 代表技术包括不可变基础设施、服务网格、声明式 API 及 Serverless 等。读了这本《企业运维之云原生和Kubernetes 实战》这本书,从书中 学习到了云原生和k8s基础入门、阿里云容器技术深入介绍、kubernetes集群原理深度解析、ack集群管理。让我们从0到1熟悉云原生及K8s概念/技术/架构。 大家也可以通过本书配套的训练营本训练营涵盖云原生方向学习领域的基础课程与核心课程,是成为云原生运维和实践工程师的必修之路。 通过课程讲授与丰富的动手实验,让我们快速掌握了解学习到这方面的知识和实践。非常的推荐给大家!!!!!!!
低代码开发是指无需编码或通过少量代码,就可以快速生成应用程序的新型开发方式。 低代码是基于可视化和模型驱动理念,结合云原生与多端体验技术,它能够在多数业务场景下实现大幅度的提效降本, 为专业开发者提供了一种全新的高生产力开发范式。 另一方面,低代码能够让不懂代码的人,通过“拖拉拽”开发组件, 就能完成应用程序的搭建。 从意义上讲,低代码可以弥补日益扩大的专业技术人才缺口,同时促成业务与技术深度协作的终极敏捷形态。 在本书中《低代码开发师(高级)实战教程》中的通过可视化的拖拽, 完成应用的布局和设置,同时也可以根据自己的需要进行自由的拖拽,然后通过对话式的命令行,完成应用内不同模块的逻辑关联,通过场景化的实践,让我们普通程序员具备系统之间的互联互通能力。
在微服务技术流行的当下,我们企业在实施微服务架构的时候,会对整个研发体系,包括开发、运维、团队组织、协同都带来或大或小的影响。 因此必须构建起一整套以服务治理为核心、从线下到线上的新的能力体系来支撑这套新的架构技术,否则很难保证微服务架构的顺畅落地。 读完这本书,在这本书找到了答案.通过阿里云提供的方案。微服务深度治理能力构建,将微服务的治理延升到架构、开发、测试、运维、团队协同等各个领域, 从而实现微服务架构在组织中从“用的了”到“用的好”的提升。同时将服务治理能力反哺给业务,实现技术和业务的良性互动。 让我对于微服整体有一认识对于公司现有系统架构的一些思考,慢慢对公司现有架构整理出自己的意见和一些可行性的方案。
《阿里云 JindoFS+OSS 数据上云实战》这本书,云原生的大数据计算存储分离方案。我充分的理解了以前OSS/S3 作为云上对象存储的代表, 也在大数据生态进行了适配,但是由于对象存储设计上的特点,元数据相关操作无法达到 HDFS 一样的效率;对象存储给客户的带宽不断增加, 但是也是有限的,一些时候较难完全满足用户大数据使用上的需求。JindoFS 是阿里云针对云上存储定制的自研大数据存储服务, 完全兼容 Hadoop 文件系统接口,给客户带来更加灵活、高效的计算存储方案,目前已验证支持阿里云 EMR 中所有的计算服务和引擎: Spark、Flink、Hive、MapReduce、Presto、Impala 等。它使用 RocksDB 存储元数据,相比于 NameNode 可以存储更大规模的文件数, 不受限于内存。另外不需要Worker节点上报块信息,没有性能抖动的问题。工作中最明显的益处就是: 我们可以利用 JindoFS 作为存储引擎,将底层数据存放在对象存储(比如OSS)上,并且利用 JindoFS 的本地缓存加速能力, 组成一个云上稳定、可靠、高性能的大数据存储方案,给上层计算分析引擎提供强大有力的支撑。
1
1
1
作为阿里众多商业化产品的底层存储。我们作为客户之一也在使用,表格存储 Tablestore 对标 HBase 和 ElasticSearch, 拥有非常好的弹性体验、即开即用的特性使用非常快捷。支持 PB 级数据存储和千万 TPS 毫秒级延迟,同时具备数据检索与分析能力,是集 存储、搜索和分析多功能一体的一站式结构化数据存储平台。阅读完 一站式结构化数据存储Tablestore实战手册 了解到了Tablestore的基本模型,比如宽表模型、时序模型、以及如何使用各种语言接入SDK进行开发的工作。 书中最后的场景实战介绍了非常多的实践案例,比如DTS数据同步、Cannal数据同步、常见的SQL查询和分析,ETL、 大规模历史数据处理,数据流计算等等。覆盖了我们工作中主流的各种场景。随着大数据产业蓬勃发展,数据量越来越大, 同时也产生了更丰富、更复杂的业务场景和需求,这对于数据应用系统的性能 无疑是巨大的挑战。欢迎大家来了解了解。