Skip to content

Instantly share code, notes, and snippets.

View vezril's full-sized avatar
:octocat:

Calvin Ference vezril

:octocat:
  • Montreal, Canada
View GitHub Profile

Monolith

The Monolithic Ball of Mud

  • The Ball Of Mud represents the worst case scenario for a Monolith. Also called as Spaghetti Code.
  • No clear isolation in the application.
  • Complex dependencies where everything depends on every other thing.
  • Hard to understand and harder to modify.

Cleaning Up The Ball Of Mud

  • To clean up the ball of mud we introduce isolation into the application by dividing the application along clear domain boundaries.
  • We introduce packages and libraries that help isolate related pieces of code. They provide a clean and consistent interface.

Applied Functional Programming with Scala - Notes

Copyright © 2016-2018 Fantasyland Institute of Learning. All rights reserved.

1. Mastering Functions

A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.

val square : Int => Int = x => x * x
###
# MAP, translates and/or encapsulates IPv4 to IPv6
# LW4o6, configured as a mapping table
MAP is implemented in VPP. vnet/vnet/map and vnet/vnet/ip (ip_frag.[ch])
Why is VPP good at being a MAP-BR (or LW4o6)
- Provides over-the-top service
Runs on servers
# Buffer metadata
Spatioal layout
struct rte_mbuf - dpdk buffer metadata
vlib_buffer_t - vpp buffer metadata as rte_mbuf_pvt data
### DPDK Integration
curl -4 http://wttr.in/SanJose
/* FDIO Training Day 2 */
// The zero drop rate of the IETF is like rat feces in the food industry, you have a certain part per million. We don't have rat feces.
// Macswap
important directories:
build-root
dpdk
vlib
VPP does prefetching in d-cache
Graph - Composed at runtime
Nodes - functional blocks of code in the graph, i.e. ethernet-input connected together via arcs
Nodes are called via their dispatch function
Think of it as the node's main()
# Connection VMs via PCI
lshw -class network -businfo
dd if=/dev/zero of=testfile_10MB bs=10485760 count=1
# Two hosts. HostA (source) to HostB (destination)
#
# On HostB
# -p 2222, open on port 2222
# -l, listen mode
# bzip2 -d, decompress stream using bzip2
# dd of=image.iso, destination file
(hostb)# netcat -p 2222 -l |bzip2 -d | dd of=image.iso
# Add missing gerrit end point
git remote add gerrit git@url.url